From b689857d53177b6027679f67fecbde8f36c174d1 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 4 Sep 2017 21:20:49 +0200 Subject: [PATCH] Revert "Fixed #74977 - Appending AppendIterator leads to segfault" This reverts commit dbc2ffba822d13e74e37f5ba6e106f163c1008e8. --- ext/spl/spl_iterators.c | 7 +------ ext/spl/tests/bug74977.phpt | 13 ------------- 2 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 ext/spl/tests/bug74977.phpt diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index 0daa55f4b4..4373a3b651 100644 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -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); } diff --git a/ext/spl/tests/bug74977.phpt b/ext/spl/tests/bug74977.phpt deleted file mode 100644 index 09e16eedfe..0000000000 --- a/ext/spl/tests/bug74977.phpt +++ /dev/null @@ -1,13 +0,0 @@ ---TEST-- -Bug #74977: Recursion leads to crash ---FILE-- -append($iterator); -var_dump($iterator); -?> ---EXPECTF-- -object(AppendIterator)#1 (0) { -} - -- 2.40.0