From ad750c3bb6e7b48384c6265eb9d3bcf5b4000652 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 31 Aug 2020 10:51:00 +0200 Subject: Fix handling of exception if valid() during yield from Fixes oss-fuzz #25296. --- Zend/zend_generators.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Zend/zend_generators.c') diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 4ccb57907f..bb3260b11b 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -709,6 +709,9 @@ static int zend_generator_get_next_delegated_value(zend_generator *generator) /* } if (iter->funcs->valid(iter) == FAILURE) { + if (UNEXPECTED(EG(exception) != NULL)) { + goto exception; + } /* reached end of iteration */ goto failure; } -- cgit v1.2.1