From 9cdd547ecad81fb4ea499db2f9a62be55b54390f Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 6 Dec 2017 23:32:39 +0100 Subject: Fixed bug #74372 --- ext/spl/php_spl.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'ext/spl/php_spl.c') diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index 6b1426e701..fb9f80506b 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -447,16 +447,18 @@ PHP_FUNCTION(spl_autoload_call) } zend_call_function(&fci, &fcic); - - zend_exception_save(); zval_ptr_dtor(&retval); + + if (EG(exception)) { + break; + } + if (pos + 1 == SPL_G(autoload_functions)->nNumUsed || zend_hash_exists(EG(class_table), lc_name)) { break; } zend_hash_move_forward_ex(SPL_G(autoload_functions), &pos); } - zend_exception_restore(); zend_string_release(lc_name); SPL_G(autoload_running) = l_autoload_running; } else { -- cgit v1.2.1