From 03cdb8e9dd3447115530418c2b8183c94dee2a53 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 22 Apr 2017 22:56:04 +0900 Subject: Should terminate nested iterations in each_object; ref #3359 --- src/gc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gc.c b/src/gc.c index d9a18cd0e..da84ca3ad 100644 --- a/src/gc.c +++ b/src/gc.c @@ -1499,9 +1499,8 @@ gc_each_objects(mrb_state *mrb, mrb_gc *gc, mrb_each_object_callback *callback, pend = p + MRB_HEAP_PAGE_SIZE; for (;p < pend; p++) { if ((*callback)(mrb, &p->as.basic, data) == MRB_EACH_OBJ_BREAK) - break; + return; } - page = page->next; } } -- cgit v1.2.3