From 3dc8cde70078ccb38f5f4b0818ad5eecded01bd5 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Tue, 14 Mar 2023 23:18:11 -0400 Subject: Fix crash during compaction [Bug #19529] The fix for [Bug #19529] in commit 548086b contained a bug that crashes on the following script: ``` wm = ObjectSpace::WeakMap.new obj = Object.new 100.times do wm[Object.new] = obj GC.start end GC.compact ``` --- weakmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'weakmap.c') diff --git a/weakmap.c b/weakmap.c index 2145e4d2f8..1e86f22988 100644 --- a/weakmap.c +++ b/weakmap.c @@ -17,7 +17,7 @@ wmap_replace_ref(st_data_t *key, st_data_t *value, st_data_t _argp, int existing { *key = rb_gc_location((VALUE)*key); - VALUE *values = (VALUE *)value; + VALUE *values = (VALUE *)*value; VALUE size = values[0]; for (VALUE index = 1; index <= size; index++) { -- cgit v1.2.1