diff --git a/Zend/tests/generators/bug79600.phpt b/Zend/tests/generators/bug79600.phpt new file mode 100644 index 00000000000..4abe9784b69 --- /dev/null +++ b/Zend/tests/generators/bug79600.phpt @@ -0,0 +1,24 @@ +--TEST-- +Bug #79600: Regression in 7.4.6 when yielding an array based generator +--FILE-- + +--EXPECT-- +1 +2 diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 4ce4e4bbfa3..b4ffb04414d 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -729,6 +729,7 @@ try_again: if (UNEXPECTED(!Z_ISUNDEF(generator->values))) { if (EXPECTED(zend_generator_get_next_delegated_value(generator) == SUCCESS)) { + orig_generator->flags &= ~ZEND_GENERATOR_DO_INIT; return; } /* If there are no more deletegated values, resume the generator