From e4662d77e75de4cc6d8e98e56bb0395cbbedbaf7 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 3 Nov 2017 01:59:08 +0900 Subject: Should not use `FSHARED` state for string from `irep` pools; fix #3829 This strings in `irep` pools may be freed forcefully in `mrb_irep_free`. This commit probably fixes #3817 as well. --- src/state.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/state.c') diff --git a/src/state.c b/src/state.c index 44bcc0656..f4e63ab84 100644 --- a/src/state.c +++ b/src/state.c @@ -11,6 +11,7 @@ #include #include #include +#include void mrb_init_core(mrb_state*); void mrb_init_mrbgems(mrb_state*); @@ -222,6 +223,7 @@ mrb_str_pool(mrb_state *mrb, mrb_value str) ns->as.heap.ptr[len] = '\0'; } } + RSTR_SET_POOL_FLAG(ns); MRB_SET_FROZEN_FLAG(ns); return mrb_obj_value(ns); } -- cgit v1.2.3