diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-06-01 19:35:15 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-06-01 19:35:15 +0900 |
| commit | 87cc0344cde0e3ccafa162bdbcf8a6ffac61e6ba (patch) | |
| tree | dd70dd3bc7e6fc1dc34ef97a43e7f3a46a7c2803 | |
| parent | eb5a606fe209944d0757301edb331ed7ff0fd31f (diff) | |
| download | mruby-87cc0344cde0e3ccafa162bdbcf8a6ffac61e6ba.tar.gz mruby-87cc0344cde0e3ccafa162bdbcf8a6ffac61e6ba.zip | |
Call `stack_clear()` after `stack_extend()`; fix #3682
| -rw-r--r-- | src/vm.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -853,10 +853,10 @@ mrb_vm_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int stac } if (stack_keep > nregs) nregs = stack_keep; + stack_extend(mrb, nregs); if (nregs > stack_keep) { stack_clear(c->stack + stack_keep, nregs - stack_keep); } - stack_extend(mrb, nregs); c->stack[0] = self; result = mrb_vm_exec(mrb, proc, irep->iseq); if (c->ci - c->cibase > cioff) { |
