summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--gc.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a3dfdb2802..5dea9355e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Dec 14 01:15:51 2013 Masaya Tarui <tarui@ruby-lang.org>
+
+ * gc.c (wmap_final_func): Bugfix. Should update *value to new pointer.
+
Sat Dec 14 01:05:46 2013 Tanaka Akira <akr@fsij.org>
* ext/socket/lib/socket.rb: Don't test $! in "ensure" clause because
diff --git a/gc.c b/gc.c
index 3d5aade54e..03c755dac8 100644
--- a/gc.c
+++ b/gc.c
@@ -6330,6 +6330,7 @@ wmap_final_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing)
if (j < i) {
ptr = ruby_sized_xrealloc2(ptr, j, sizeof(VALUE), i);
ptr[0] = j;
+ *value = (st_data_t)ptr;
}
return ST_CONTINUE;
}