diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-04-24 21:05:44 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-04-24 21:05:44 +0900 |
| commit | 4720648137f2698cceb635c251475dec645cd598 (patch) | |
| tree | 535584bbc083956801dd6c8c702c8dfe8c4c44d9 /src | |
| parent | 163a6d01e035f16b15d3b08c0dfddd2caec09f9b (diff) | |
| download | mruby-4720648137f2698cceb635c251475dec645cd598.tar.gz mruby-4720648137f2698cceb635c251475dec645cd598.zip | |
Fix modiying class variable to frozen class/module
Diffstat (limited to 'src')
| -rw-r--r-- | src/variable.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/variable.c b/src/variable.c index 983fe52f7..c4c9d369f 100644 --- a/src/variable.c +++ b/src/variable.c @@ -671,6 +671,7 @@ mrb_mod_cv_set(mrb_state *mrb, struct RClass *c, mrb_sym sym, mrb_value v) iv_tbl *t = c->iv; if (iv_get(mrb, t, sym, NULL)) { + mrb_check_frozen(mrb, c); iv_put(mrb, t, sym, v); mrb_write_barrier(mrb, (struct RBasic*)c); return; @@ -698,6 +699,7 @@ mrb_mod_cv_set(mrb_state *mrb, struct RClass *c, mrb_sym sym, mrb_value v) c = cls; } + mrb_check_frozen(mrb, c); if (!c->iv) { c->iv = iv_new(mrb); } |
