diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2017-12-06 23:32:39 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2017-12-06 23:36:09 +0100 |
commit | 9cdd547ecad81fb4ea499db2f9a62be55b54390f (patch) | |
tree | 6ca8f54cdba5c2682222d4dc4206b20a902b3483 /ext/spl/php_spl.c | |
parent | 4e6b80ca549f5db9c0bdcd60e46cc5e03ae488d2 (diff) | |
download | php-git-9cdd547ecad81fb4ea499db2f9a62be55b54390f.tar.gz |
Fixed bug #74372
Diffstat (limited to 'ext/spl/php_spl.c')
-rw-r--r-- | ext/spl/php_spl.c | 8 |
1 files changed, 5 insertions, 3 deletions
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 { |