From de969942338ac440294eefb2e7846a6975f4efdd Mon Sep 17 00:00:00 2001 From: Clayton Smith Date: Tue, 18 Apr 2017 11:18:58 -0400 Subject: Check if sc->mt is initialized before copying it. --- src/kernel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index ef5bc0839..ce304fd99 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -241,7 +241,12 @@ copy_class(mrb_state *mrb, mrb_value dst, mrb_value src) c1->super = mrb_class_ptr(mrb_obj_dup(mrb, mrb_obj_value(c0))); c1->super->flags |= MRB_FLAG_IS_ORIGIN; } - dc->mt = kh_copy(mt, mrb, sc->mt); + if (sc->mt) { + dc->mt = kh_copy(mt, mrb, sc->mt); + } + else { + dc->mt = kh_init(mt, mrb); + } dc->super = sc->super; MRB_SET_INSTANCE_TT(dc, MRB_INSTANCE_TT(sc)); } -- cgit v1.2.3