Fix incorrect handling of unwind and graceful exit exceptions

These exceptions should not invoke the user error handler, and not cause bailing
of the request.

Fixes GH-11601
Closes GH-11608
This commit is contained in:
Ilija Tovilo 2023-07-06 22:45:29 +02:00
parent cf587c1a1b
commit 11aee73572
No known key found for this signature in database
GPG key ID: A4F5D403F118200A
3 changed files with 10 additions and 6 deletions

View file

@ -1010,11 +1010,7 @@ cleanup_args:
if (UNEXPECTED(EG(exception))) {
if (UNEXPECTED(!EG(current_execute_data))) {
if (Z_TYPE(EG(user_exception_handler)) != IS_UNDEF) {
zend_user_exception_handler();
} else {
zend_throw_exception_internal(NULL);
}
zend_throw_exception_internal(NULL);
} else if (EG(current_execute_data)->func &&
ZEND_USER_CODE(EG(current_execute_data)->func->common.type)) {
zend_rethrow_exception(EG(current_execute_data));