diff --git a/Zend/tests/gh13569.phpt b/Zend/tests/gh13569.phpt new file mode 100644 index 00000000000..8e5f74d6666 --- /dev/null +++ b/Zend/tests/gh13569.phpt @@ -0,0 +1,22 @@ +--TEST-- +GH-13569: GC buffer grows up to GC_MAX_BUF_SIZE when scanning WeakMaps +--FILE-- + +==DONE== +--EXPECT-- +==DONE== diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 4051dd82f8a..572e3b66fd4 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -718,7 +718,7 @@ static void ZEND_FASTCALL gc_extra_root(zend_refcounted *ref) if (EXPECTED(GC_HAS_UNUSED())) { idx = GC_FETCH_UNUSED(); - } else if (EXPECTED(GC_HAS_NEXT_UNUSED_UNDER_THRESHOLD())) { + } else if (EXPECTED(GC_HAS_NEXT_UNUSED())) { idx = GC_FETCH_NEXT_UNUSED(); } else { gc_grow_root_buffer();