summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-04-09 09:19:18 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-04-09 09:19:18 +0900
commit9fbd66cb9a45177a4f985fe27b3790d7fc29af0e (patch)
treeadd50098c6f4b1dab3c9b0a7fb89b99424633ab5 /src
parent5dea19e9be5d05553df18a5e022911da83fcccbc (diff)
downloadmruby-9fbd66cb9a45177a4f985fe27b3790d7fc29af0e.tar.gz
mruby-9fbd66cb9a45177a4f985fe27b3790d7fc29af0e.zip
nregs size was too big (off by one); close #1137
Diffstat (limited to 'src')
-rw-r--r--src/vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm.c b/src/vm.c
index c319e7148..7eae322f7 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -403,7 +403,7 @@ mrb_yield_internal(mrb_state *mrb, mrb_value b, int argc, mrb_value *argv, mrb_v
ci->nregs = argc + 2;
}
else {
- ci->nregs = p->body.irep->nregs + 2;
+ ci->nregs = p->body.irep->nregs + 1;
}
ci->acc = -1;
mrb->stack = mrb->stack + n;
@@ -568,7 +568,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
}
stack_extend(mrb, irep->nregs, irep->nregs);
mrb->ci->proc = proc;
- mrb->ci->nregs = irep->nregs + 2;
+ mrb->ci->nregs = irep->nregs + 1;
regs = mrb->stack;
regs[0] = self;