mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Revert "Fixed #74977 - Appending AppendIterator leads to segfault"
This reverts commit dbc2ffba82
.
This commit is contained in:
parent
296d0826da
commit
b689857d53
@ -3367,7 +3367,7 @@ SPL_METHOD(AppendIterator, __construct)
|
||||
Append an iterator */
|
||||
SPL_METHOD(AppendIterator, append)
|
||||
{
|
||||
spl_dual_it_object *intern, *appender;
|
||||
spl_dual_it_object *intern;
|
||||
zval *it;
|
||||
|
||||
SPL_FETCH_AND_CHECK_DUAL_IT(intern, getThis());
|
||||
@ -3379,11 +3379,6 @@ SPL_METHOD(AppendIterator, append)
|
||||
spl_array_iterator_append(&intern->u.append.zarrayit, it);
|
||||
intern->u.append.iterator->funcs->move_forward(intern->u.append.iterator);
|
||||
}else{
|
||||
appender = Z_SPLDUAL_IT_P(it);
|
||||
if (appender->dit_type == DIT_AppendIterator) {
|
||||
spl_array_iterator_append(&intern->u.append.zarrayit, &appender->u.append.zarrayit);
|
||||
return;
|
||||
}
|
||||
spl_array_iterator_append(&intern->u.append.zarrayit, it);
|
||||
}
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
--TEST--
|
||||
Bug #74977: Recursion leads to crash
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$iterator = new AppendIterator(array("A","A","A"));
|
||||
$iterator->append($iterator);
|
||||
var_dump($iterator);
|
||||
?>
|
||||
--EXPECTF--
|
||||
object(AppendIterator)#1 (0) {
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user