Merge branch 'PHP-8.2' into PHP-8.3

* PHP-8.2:
  Fix GH-16181: phpdbg: exit in exception handler reports fatal error
This commit is contained in:
Christoph M. Becker 2024-10-03 11:37:01 +02:00
commit 95c97c81b7
No known key found for this signature in database
GPG Key ID: D66C9593118BCCB6
3 changed files with 29 additions and 1 deletions

2
NEWS
View File

@ -38,6 +38,8 @@ PHP NEWS
- PHPDBG:
. Fixed bug GH-15901 (phpdbg: Assertion failure on i funcs). (cmb)
. Fixed bug GH-16181 (phpdbg: exit in exception handler reports fatal error).
(cmb)
- SimpleXML:
. Fixed bug GH-15837 (Segmentation fault in ext/simplexml/simplexml.c).

View File

@ -906,7 +906,7 @@ free_cmd:
}
} zend_end_try();
if (EG(exception)) {
if (EG(exception) && !zend_is_unwind_exit(EG(exception))) {
phpdbg_handle_exception();
}
}

View File

@ -0,0 +1,26 @@
--TEST--
GH-16181 (phpdbg: exit in exception handler reports fatal error)
--PHPDBG--
r
c
q
--FILE--
<?php
set_exception_handler(function() {
echo "exception caught\n";
die;
});
echo "throwing exception\n";
throw new \Exception("oh noes");
?>
--EXPECTF--
[Successful compilation of %s]
prompt> throwing exception
[Uncaught Exception in %s on line %d: oh noes]
>00008: throw new \Exception("oh noes");
00009: ?>
00010:
prompt> exception caught
[Script ended normally]
prompt>