diff --git a/src/class.c b/src/class.c index de68087cb..fed259b5b 100644 --- a/src/class.c +++ b/src/class.c @@ -1589,7 +1589,9 @@ mrb_class_path(mrb_state *mrb, struct RClass *c) name = mrb_sym2name_len(mrb, sym, &len); path = mrb_str_new(mrb, name, len); } - mrb_obj_iv_set(mrb, (struct RObject*)c, classpath, path); + if (!MRB_FROZEN_P(c)) { + mrb_obj_iv_set(mrb, (struct RObject*)c, classpath, path); + } } return mrb_str_dup(mrb, path); }