From 7ad56fd87b35abf4933e0146761df91e9ec9890a Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Tue, 20 Oct 2020 15:16:21 +0900 Subject: freeze dynamic regexp literals Regexp literals are frozen, and also dynamically comppiled Regexp literals (/#{expr}/) are frozen. --- re.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 're.c') diff --git a/re.c b/re.c index 020ba7b6d6..55b39bfdea 100644 --- a/re.c +++ b/re.c @@ -2944,7 +2944,9 @@ rb_reg_init_str_enc(VALUE re, VALUE s, rb_encoding *enc, int options) MJIT_FUNC_EXPORTED VALUE rb_reg_new_ary(VALUE ary, int opt) { - return rb_reg_new_str(rb_reg_preprocess_dregexp(ary, opt), opt); + VALUE re = rb_reg_new_str(rb_reg_preprocess_dregexp(ary, opt), opt); + rb_obj_freeze(re); + return re; } VALUE -- cgit v1.2.1