From: Yusuke ENDOH Date: 2007-06-26T21:30:44+09:00 Subject: [ruby-dev:31062] "".clear dumps core 遠藤と申します。 1.9 で以下のようにすると落ちます。 $ ./ruby -e '"".clear' *** glibc detected *** free(): invalid pointer: 0xb7ce7ebc *** アボートしました (core dumped) 他のところのコードから推測するに、こんな感じでしょうか。 はずれてたらごめんなさい。 Index: string.c =================================================================== --- string.c (revision 12629) +++ string.c (working copy) @@ -2347,7 +2347,7 @@ rb_str_clear(VALUE str) { /* rb_str_modify() */ /* no need for str_make_independent */ - if (str_independent(str)) { + if (str_independent(str) && !STR_EMBED_P(str)) { free(RSTRING_PTR(str)); } STR_SET_EMBED(str); -- Yusuke ENDOH