summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vm.c b/src/vm.c
index bcea8a056..e65b0336c 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -256,12 +256,13 @@ static void
cipop(mrb_state *mrb)
{
struct mrb_context *c = mrb->c;
-
- if (c->ci->env) {
- mrb_env_unshare(mrb, c->ci->env);
- }
+ struct REnv *env = c->ci->env;
c->ci--;
+
+ if (env) {
+ mrb_env_unshare(mrb, env);
+ }
}
void mrb_exc_set(mrb_state *mrb, mrb_value exc);