From af6041f1d09fc39b65c66ecc87fc63b9caead280 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 15 Jun 2017 13:36:36 +0900 Subject: Ensure size of the stack in OP_CALL. --- src/vm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/vm.c') diff --git a/src/vm.c b/src/vm.c index 4b121cecb..5853ba9e2 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1434,14 +1434,13 @@ RETRY_TRY_BLOCK: pool = irep->pool; syms = irep->syms; ci->nregs = irep->nregs; + stack_extend(mrb, irep->nregs); if (ci->argc < 0) { if (irep->nregs > 3) { - stack_extend(mrb, irep->nregs); stack_clear(regs+3, irep->nregs-3); } } else if (ci->argc+2 < irep->nregs) { - stack_extend(mrb, irep->nregs); stack_clear(regs+ci->argc+2, irep->nregs-ci->argc-2); } if (m->env) { -- cgit v1.2.3