Missed unsetting of DO_INIT in one case.
This commit is contained in:
Nikita Popov 2020-05-15 11:03:05 +02:00
parent 3a3241ced7
commit d87b0685b5
3 changed files with 29 additions and 0 deletions

4
NEWS
View file

@ -6,12 +6,16 @@ PHP NEWS
. Fixed bug #79599 (coredump in set_error_handler). (Laruence)
. Fixed bug #79566 (Private SHM is not private on Windows). (cmb)
. Fixed bug #79489 (.user.ini does not inherit). (cmb)
. Fixed bug #79600 (Regression in 7.4.6 when yielding an array based
generator). (Nikita)
- FFI:
. Fixed bug #79571 (FFI: var_dumping unions may segfault). (cmb)
- Opcache:
. Fixed bug #79588 (Boolean opcache settings ignore on/off values). (cmb)
. Fixed bug #79548 (Preloading segfault with inherited method using static
variable). (Nikita)
- SimpleXML:
. Fixed bug #79528 (Different object of the same xml between 7.4.5 and

View file

@ -0,0 +1,24 @@
--TEST--
Bug #79600: Regression in 7.4.6 when yielding an array based generator
--FILE--
<?php
function createArrayGenerator() {
yield from [
1,
2,
];
}
function createGeneratorFromArrayGenerator() {
yield from createArrayGenerator();
}
foreach (createGeneratorFromArrayGenerator() as $value) {
echo $value, "\n";
}
?>
--EXPECT--
1
2

View file

@ -792,6 +792,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