Skip to content

Commit c2a8934

Browse files
committed
Fix typo in RecursiveIteratorIterator get_gc handler
1 parent b653802 commit c2a8934

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

ext/spl/spl_iterators.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,7 @@ static HashTable *spl_RecursiveIteratorIterator_get_gc(zend_object *obj, zval **
928928
if (object->iterators) {
929929
for (int level = 0; level <= object->level; level++) {
930930
zend_get_gc_buffer_add_zval(gc_buffer, &object->iterators[level].zobject);
931-
zend_get_gc_buffer_add_obj(gc_buffer, &object->iterators[object->level].iterator->std);
931+
zend_get_gc_buffer_add_obj(gc_buffer, &object->iterators[level].iterator->std);
932932
}
933933
}
934934

ext/spl/tests/bug65387.phpt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ $it = new RecursiveArrayIterator([1, 2, 3]);
5151
$it2 = new RecursiveIteratorIterator($it);
5252
$it[] = $it2;
5353

54+
// Recursive iterator at level>0.
55+
$it = new RecursiveArrayIterator([[1]]);
56+
$it2 = new RecursiveIteratorIterator($it);
57+
$it[] = $it2;
58+
$it2->next();
59+
5460
?>
5561
===DONE===
5662
--EXPECT--

0 commit comments

Comments
 (0)