summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gc.c b/src/gc.c
index cd885f7e8..56d316b0d 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -647,7 +647,7 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
mrb_gc_mark(mrb, (struct RBasic*)p->env);
mrb_gc_mark(mrb, (struct RBasic*)p->target_class);
- if (!MRB_PROC_CFUNC_P(p)) {
+ if (!MRB_PROC_CFUNC_P(p) && p->body.irep) {
mrb_gc_mark(mrb, (struct RBasic*)p->body.irep->outer);
}
}