From 0d261aff6b2bfee6b6e78798583cc65baf17861c Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 3 Dec 2022 14:17:23 +0900 Subject: [PATCH] mruby-data: freeze Data object after initialize --- mrbgems/mruby-data/src/data.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mrbgems/mruby-data/src/data.c b/mrbgems/mruby-data/src/data.c index af86d5c0f..a75d72f9e 100644 --- a/mrbgems/mruby-data/src/data.c +++ b/mrbgems/mruby-data/src/data.c @@ -167,6 +167,7 @@ mrb_data_new(mrb_state *mrb, mrb_value self) for (mrb_int i = 0; i < n; i++) { mrb_ary_set(mrb, data, i, vals[i]); } + mrb_obj_freeze(mrb, data); } return data; } @@ -255,6 +256,7 @@ mrb_data_initialize(mrb_state *mrb, mrb_value self) } mrb_ary_set(mrb, self, i, mrb_hash_get(mrb, hash, mems[i])); } + mrb_obj_freeze(mrb, self); return self; } @@ -271,6 +273,7 @@ mrb_data_init_copy(mrb_state *mrb, mrb_value copy) mrb_raise(mrb, E_TYPE_ERROR, "corrupted Data"); } mrb_ary_replace(mrb, copy, s); + mrb_obj_freeze(mrb, copy); return copy; }