diff --git a/src/vm.c b/src/vm.c index 941105212..3c74f265c 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1327,7 +1327,9 @@ RETRY_TRY_BLOCK: NEXT; } - for (n=0; nc->eidx > epos; n++) { + if (a > mrb->c->eidx - epos) + a = mrb->c->eidx - epos; + for (n=0; nc->ensure[epos+n]; irep = proc->body.irep; ci = cipush(mrb);