From 0fa94f9ead4c84b8260b5a634ac247defc88d0da Mon Sep 17 00:00:00 2001 From: Miura Hideki Date: Tue, 20 Jun 2017 12:50:00 +0900 Subject: #3711 fix --- src/vm.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index c34737789..324a90a41 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1894,9 +1894,13 @@ RETRY_TRY_BLOCK: } /* call ensure only when we skip this callinfo */ if (ci[0].ridx == ci[-1].ridx) { + mrb_value *org_stbase = mrb->c->stbase; while (mrb->c->eidx > ci->epos) { ecall(mrb, --mrb->c->eidx); ci = mrb->c->ci; + if (org_stbase != mrb->c->stbase) { + stk = mrb->c->stack; + } } } } -- cgit v1.2.3