mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
class.c: add obj->c check before prepare_singleton_class().
This commit is contained in:
@@ -357,6 +357,7 @@ prepare_singleton_class(mrb_state *mrb, struct RBasic *o)
|
||||
{
|
||||
struct RClass *sc, *c;
|
||||
|
||||
mrb_assert(o->c);
|
||||
if (o->c->tt == MRB_TT_SCLASS) return;
|
||||
sc = MRB_OBJ_ALLOC(mrb, MRB_TT_SCLASS, mrb->class_class);
|
||||
sc->flags |= MRB_FL_CLASS_IS_INHERITED;
|
||||
@@ -1682,6 +1683,7 @@ mrb_singleton_class_ptr(mrb_state *mrb, mrb_value v)
|
||||
break;
|
||||
}
|
||||
obj = mrb_basic_ptr(v);
|
||||
if (obj->c == NULL) return NULL;
|
||||
prepare_singleton_class(mrb, obj);
|
||||
return obj->c;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user