From 83fe48525f4c0ef470cd295e9edf843920e564ad Mon Sep 17 00:00:00 2001 From: jniewerth Date: Wed, 12 Jul 2017 15:10:19 +0200 Subject: [PATCH] gc_handle buf earlier in fl_string to prevent segfaults --- string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/string.c b/string.c index b7dae0c..8717d73 100644 --- a/string.c +++ b/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;