From ef1158485b9b0ef2e52d9f3a539b41ca3cb3f73d Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 30 May 2017 15:42:10 +0900 Subject: Check env context before jump from OP_RETURN; fix #3673 --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index a676cb58a..f300b47b4 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1821,7 +1821,7 @@ RETRY_TRY_BLOCK: struct REnv *e = top_env(mrb, proc); mrb_callinfo *ce; - if (!MRB_ENV_STACK_SHARED_P(e)) { + if (!MRB_ENV_STACK_SHARED_P(e) || e->cxt.c != mrb->c) { localjump_error(mrb, LOCALJUMP_ERROR_RETURN); goto L_RAISE; } -- cgit v1.2.3