Skip to content

Commit 2f09c0e

Browse files
committed
Merge branch 'PHP-8.4'
* PHP-8.4: Fix GH-16181: phpdbg: exit in exception handler reports fatal error
2 parents c77a129 + 3c1af3f commit 2f09c0e

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

sapi/phpdbg/phpdbg_prompt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ PHPDBG_COMMAND(run) /* {{{ */
904904
}
905905
} zend_end_try();
906906

907-
if (EG(exception)) {
907+
if (EG(exception) && !zend_is_unwind_exit(EG(exception))) {
908908
phpdbg_handle_exception();
909909
}
910910
}

sapi/phpdbg/tests/gh16181.phpt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
--TEST--
2+
GH-16181 (phpdbg: exit in exception handler reports fatal error)
3+
--PHPDBG--
4+
r
5+
c
6+
q
7+
--FILE--
8+
<?php
9+
set_exception_handler(function() {
10+
echo "exception caught\n";
11+
die;
12+
});
13+
14+
echo "throwing exception\n";
15+
throw new \Exception("oh noes");
16+
?>
17+
--EXPECTF--
18+
[Successful compilation of %s]
19+
prompt> throwing exception
20+
[Uncaught Exception in %s on line %d: oh noes]
21+
>00008: throw new \Exception("oh noes");
22+
00009: ?>
23+
00010:
24+
prompt> exception caught
25+
[Script ended normally]
26+
prompt>

0 commit comments

Comments
 (0)