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 + + * gc.c (wmap_final_func): Bugfix. Should update *value to new pointer. + Sat Dec 14 01:05:46 2013 Tanaka Akira * 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; }