From c69cba2ad97c311d1ae72c8a77cf1e57d70d694f Mon Sep 17 00:00:00 2001 From: Kouhei Sutou Date: Fri, 25 Mar 2016 00:25:48 +0900 Subject: Add missing regs update mrb_vm_define_class() may realloc() mrb->c->stack because it calls mrb_funcall() for inherited hook. If mrb->c->stack is realloc()-ed, regs refers orphan address. --- src/vm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/vm.c b/src/vm.c index e65b0336c..b56ad4969 100644 --- a/src/vm.c +++ b/src/vm.c @@ -2271,6 +2271,7 @@ RETRY_TRY_BLOCK: base = mrb_obj_value(mrb->c->ci->target_class); } c = mrb_vm_define_class(mrb, base, super, id); + regs = mrb->c->stack; regs[a] = mrb_obj_value(c); ARENA_RESTORE(mrb, ai); NEXT; -- cgit v1.2.3