summaryrefslogtreecommitdiff
path: root/ext/spl/php_spl.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2017-12-06 23:32:39 +0100
committerNikita Popov <nikita.ppv@gmail.com>2017-12-06 23:36:09 +0100
commit9cdd547ecad81fb4ea499db2f9a62be55b54390f (patch)
tree6ca8f54cdba5c2682222d4dc4206b20a902b3483 /ext/spl/php_spl.c
parent4e6b80ca549f5db9c0bdcd60e46cc5e03ae488d2 (diff)
downloadphp-git-9cdd547ecad81fb4ea499db2f9a62be55b54390f.tar.gz
Fixed bug #74372
Diffstat (limited to 'ext/spl/php_spl.c')
-rw-r--r--ext/spl/php_spl.c8
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 {