diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-12 09:18:44 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-12 09:18:44 +0900 |
| commit | a25404c3057f89e8d1f17a05ef4473b8f1c8fe94 (patch) | |
| tree | 8a83ce78d9d77b641020ccbfe279cba32c9e1277 /src/class.c | |
| parent | 6dd1a570c2ee436bf20aef9e66e6c781cb222b96 (diff) | |
| download | mruby-a25404c3057f89e8d1f17a05ef4473b8f1c8fe94.tar.gz mruby-a25404c3057f89e8d1f17a05ef4473b8f1c8fe94.zip | |
The attached object may not be a class; fix #3602
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/class.c b/src/class.c index baefe3fde..c7781c9b8 100644 --- a/src/class.c +++ b/src/class.c @@ -137,7 +137,15 @@ mrb_class_outer_module(mrb_state *mrb, struct RClass *c) mrb_value klass; klass = mrb_obj_iv_get(mrb, (struct RObject *)cls, mrb_intern_lit(mrb, "__attached__")); - cls = mrb_class_ptr(klass); + switch (mrb_type(klass)) { + case MRB_TT_CLASS: + case MRB_TT_SCLASS: + case MRB_TT_MODULE: + cls = mrb_class_ptr(klass); + break; + default: + break; + } } return cls; } |
