diff --git a/src/gc.c b/src/gc.c index e429603dd..9b11b7a83 100644 --- a/src/gc.c +++ b/src/gc.c @@ -788,7 +788,8 @@ obj_free(mrb_state *mrb, struct RBasic *obj, int end) if (MRB_ENV_STACK_SHARED_P(e)) { /* cannot be freed */ - return; + e->stack = NULL; + break; } mrb_free(mrb, e->stack); e->stack = NULL;