diff --git a/ChangeLog b/ChangeLog index 599c992b98..329988c587 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Dec 3 14:34:07 2014 Nobuyoshi Nakada + + * string.c (setup_fake_str): fake string does not share another + string, but just should not free. + Wed Dec 3 11:14:14 2014 NAKAMURA Usaku * win32/win32.c (w32_spawn): `v2` is used not only for `shell` but also diff --git a/string.c b/string.c index 88185cfb0b..95c773bf02 100644 --- a/string.c +++ b/string.c @@ -250,7 +250,7 @@ rb_fstring(VALUE str) static VALUE setup_fake_str(struct RString *fake_str, const char *name, long len, int encidx) { - fake_str->basic.flags = T_STRING|RSTRING_NOEMBED|ELTS_SHARED; + fake_str->basic.flags = T_STRING|RSTRING_NOEMBED|STR_NOFREE; /* SHARED to be allocated by the callback */ ENCODING_SET_INLINED((VALUE)fake_str, encidx);