diff --git a/ChangeLog b/ChangeLog index 98976d4d10..8cc623d8c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Feb 5 11:46:42 2014 Koichi Sasada + + * gc.c (gc_mark_children): STR_ASSOC is no longer available. + Reported by @nagachika. + http://d.hatena.ne.jp/nagachika/20140204 + Wed Feb 5 11:27:22 2014 Koichi Sasada * string.c (rb_str_new_frozen): refactoring code. diff --git a/gc.c b/gc.c index 8bafb724a1..db32c3705e 100644 --- a/gc.c +++ b/gc.c @@ -3866,8 +3866,7 @@ gc_mark_children(rb_objspace_t *objspace, VALUE ptr) goto again; case T_STRING: -#define STR_ASSOC FL_USER3 /* copied from string.c */ - if (FL_TEST(obj, RSTRING_NOEMBED) && FL_ANY(obj, ELTS_SHARED|STR_ASSOC)) { + if (STR_SHARED_P(obj)) { ptr = obj->as.string.as.heap.aux.shared; goto again; }