From 2d616987994b4cde8f8cd70649c88660abdf4a89 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 4 Apr 2014 01:47:47 +0900 Subject: should not access proc->body.irep if proc is PROC_CFUNC; close #1999 --- src/vm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index 09988a996..05d7139e6 100644 --- a/src/vm.c +++ b/src/vm.c @@ -460,7 +460,6 @@ mrb_f_send(mrb_state *mrb, mrb_value self) ci->mid = name; ci->target_class = c; ci->proc = p; - ci->nregs = p->body.irep->nregs; regs = mrb->c->stack+1; /* remove first symbol from arguments */ if (ci->argc >= 0) { @@ -477,8 +476,8 @@ mrb_f_send(mrb_state *mrb, mrb_value self) return p->body.func(mrb, self); } - cipush(mrb); - ci = mrb->c->ci; + ci->nregs = p->body.irep->nregs; + ci = cipush(mrb); ci->target_class = 0; ci->pc = p->body.irep->iseq; ci->stackent = mrb->c->stack; -- cgit v1.2.3