From 2c66d34a7e0535e6acfc00a43d75cf2cd0274563 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 18 Feb 2024 18:18:21 +0900 Subject: [PATCH] Corrected strange conditional in `mrb_vm_run()` This was introduced in commit 365c151df0a8bd495328e012e0a27a8585b10355. I should have checked env first. --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index a5c1dee9c..722a3d75a 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1320,7 +1320,7 @@ mrb_vm_run(mrb_state *mrb, const struct RProc *proc, mrb_value self, mrb_int sta nregs = stack_keep; else { struct REnv *e = CI_ENV(mrb->c->ci); - if (stack_keep == 0 || (e && irep->nlocals < MRB_ENV_LEN(e))) { + if (e && (stack_keep == 0 || irep->nlocals < MRB_ENV_LEN(e))) { ci_env_set(mrb->c->ci, NULL); mrb_env_unshare(mrb, e, FALSE); }