summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-04-18 16:47:24 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-04-18 16:49:14 +0900
commitae4217e813a1067824965ad3ddc686e2dc30fddd (patch)
treec7269a35511738e7dd33c01114a8163252201cf2
parente8dca6b0346ad087adda19a8656679bbdb23e6e7 (diff)
downloadmruby-ae4217e813a1067824965ad3ddc686e2dc30fddd.tar.gz
mruby-ae4217e813a1067824965ad3ddc686e2dc30fddd.zip
Fixed a wrong condition; fix #3550
Shared TT_ENV should be unshared. Reversed condition.
-rw-r--r--src/gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gc.c b/src/gc.c
index 15b92e638..81f47eed7 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -769,7 +769,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj, int end)
while (ce <= ci) {
struct REnv *e = ci->env;
if (e && !is_dead(&mrb->gc, e) &&
- e->tt == MRB_TT_ENV && MRB_ENV_STACK_SHARED_P(e)) {
+ e->tt == MRB_TT_ENV && !MRB_ENV_STACK_SHARED_P(e)) {
mrb_env_unshare(mrb, e);
}
ci--;