summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2016-12-12 10:34:21 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2016-12-12 10:34:21 +0900
commit9cef2654025e6646b1d0ff259086fc9eb02fff84 (patch)
treea774cfe5e3438713cbb4f4b0c09a675f82111bee /src/class.c
parent6ac547349422d04448faea1e713bea9434fc55ed (diff)
downloadmruby-9cef2654025e6646b1d0ff259086fc9eb02fff84.tar.gz
mruby-9cef2654025e6646b1d0ff259086fc9eb02fff84.zip
should not try to set classpath for frozen classes; ref #3340
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c4
1 files changed, 3 insertions, 1 deletions
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);
}