gc_handle buf earlier in fl_string to prevent segfaults
This commit is contained in:
parent
96d31afc0a
commit
83fe48525f
2
string.c
2
string.c
|
@ -126,6 +126,7 @@ value_t fl_string(value_t *args, u_int32_t nargs)
|
|||
if (nargs == 1 && fl_isstring(args[0]))
|
||||
return args[0];
|
||||
value_t arg, buf = fl_buffer(NULL, 0);
|
||||
fl_gc_handle(&buf);
|
||||
ios_t *s = value2c(ios_t*,buf);
|
||||
uint32_t i;
|
||||
value_t oldpr = symbol_value(printreadablysym);
|
||||
|
@ -137,7 +138,6 @@ value_t fl_string(value_t *args, u_int32_t nargs)
|
|||
}
|
||||
set(printreadablysym, oldpr);
|
||||
set(printprettysym, oldpp);
|
||||
fl_gc_handle(&buf);
|
||||
value_t outp = stream_to_string(&buf);
|
||||
fl_free_gc_handles(1);
|
||||
return outp;
|
||||
|
|
Loading…
Reference in New Issue