From 9b8956cdd0165e1bc2295694720b5c70dba39fce Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 1 Jul 2017 12:30:15 +0900 Subject: `break` should not cross fiber-context boundary; fix #3724 --- src/vm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/vm.c b/src/vm.c index 93f2eceba..4fca2b2ac 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1991,6 +1991,9 @@ RETRY_TRY_BLOCK: if (!proc->env || !MRB_ENV_STACK_SHARED_P(proc->env)) { goto L_BREAK_ERROR; } + if (proc->env->cxt.c != mrb->c) { + goto L_BREAK_ERROR; + } while (mrb->c->eidx > mrb->c->ci->epos) { ecall(mrb, --mrb->c->eidx); } -- cgit v1.2.3