diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gc.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Mon Jun 10 16:05:59 2013 Koichi Sasada <ko1@atdot.net> + + * gc.c (wmap_mark): check allocation of `w->obj2wmap'. + (no-allocation `w->obj2wmap' will be NULL pointer reference) + Mon Jun 10 15:36:00 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> * eval_error.c (error_print): use checking functions instead of @@ -4613,7 +4613,7 @@ static void wmap_mark(void *ptr) { struct weakmap *w = ptr; - st_foreach(w->obj2wmap, wmap_mark_map, (st_data_t)&rb_objspace); + if (w->obj2wmap) st_foreach(w->obj2wmap, wmap_mark_map, (st_data_t)&rb_objspace); rb_gc_mark(w->final); } |