Actions
Bug #9011
closedrb_fstring unsafe to use in general case
Description
I don't think the current "frozen"f in pure Ruby code is unsafe
(I haven't reproduced a crash)
But I do not think rb_fstring is generally safe for other C code, including extension authors
Consider the following case:
fstr1 = rb_fstring(str)
fstr1 goes out of scope
GC mark runs ...
fstr1 is eligible for lazy sweep
fstr2 = rb_fstring(str)
fstr2 is identical to fstr1
fstr1 is swept (rb_str_free)
fstr2 use attempted -> crash
I extracted this bug report from Feature #8998, where I showed a patch
which exposes this bug during "make check"
Actions
Like0
Like0Like0Like0