summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index 15b25ecb0..5793e2f74 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -327,7 +327,8 @@ ecall(mrb_state *mrb)
mrb_assert(!MRB_PROC_CFUNC_P(p));
c->ensure[i] = NULL;
nregs = p->upper->body.irep->nregs;
- if (ci->proc->body.irep->nregs > nregs) {
+ if (ci->proc && !MRB_PROC_CFUNC_P(ci->proc) &&
+ ci->proc->body.irep->nregs > nregs) {
nregs = ci->proc->body.irep->nregs;
}
cioff = ci - c->cibase;