diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-14 23:55:06 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-14 23:55:06 +0900 |
| commit | 0f6c1a034bef4ec2661930f2f8db550463edf665 (patch) | |
| tree | 5afd61d2f1fa1bcd8a05f46bd65ac3c58703113d | |
| parent | 78be24c87b684d1a18f5772e6020714d9c0caac7 (diff) | |
| download | mruby-0f6c1a034bef4ec2661930f2f8db550463edf665.tar.gz mruby-0f6c1a034bef4ec2661930f2f8db550463edf665.zip | |
zero initialize singleton_class iv
| -rw-r--r-- | src/class.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/class.c b/src/class.c index e737a1201..79daa6f86 100644 --- a/src/class.c +++ b/src/class.c @@ -74,6 +74,7 @@ make_metaclass(mrb_state *mrb, struct RClass *c) } sc = (struct RClass*)mrb_obj_alloc(mrb, MRB_TT_SCLASS, mrb->class_class); sc->mt = 0; + sc->iv = 0; if (!c->super) { sc->super = mrb->class_class; } @@ -763,9 +764,7 @@ mrb_singleton_class_ptr(mrb_state *mrb, struct RClass *c) { struct RClass *sc; - if (c->tt == MRB_TT_SCLASS) { - return c; - } + if (o->c->tt == MRB_TT_SCLASS) return; sc = (struct RClass*)mrb_obj_alloc(mrb, MRB_TT_SCLASS, mrb->class_class); sc->mt = 0; sc->super = c; |
