From b73802d4378c82397c2644e3e7626338222b8bbb Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 28 Sep 2022 14:03:53 +0900 Subject: [PATCH] vm.c (cipop): wrong callinfo shifts fixed; ref #5791 --- src/vm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 4eed427c0..711a8baeb 100644 --- a/src/vm.c +++ b/src/vm.c @@ -415,10 +415,11 @@ cipop(mrb_state *mrb) !MRB_PROC_STRICT_P(b) && MRB_PROC_ENV(b) == CI_ENV(&ci[-1])) { b->flags |= MRB_PROC_ORPHAN; } - c->ci--; // exceptions are handled at the method caller; see #3087 if (env && !mrb_env_unshare(mrb, env, TRUE)) { + c->ci--; // exceptions are handled at the method caller; see #3087 mrb_exc_raise(mrb, mrb_obj_value(mrb->nomem_err)); } + c->ci--; return c->ci; }