Skip to content

Commit a515185

Browse files
committed
spi/phpdbg: windows update exception type falling into segfault.
1 parent ce8ffed commit a515185

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

sapi/phpdbg/phpdbg_win.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,15 @@ int phpdbg_exception_handler_win32(EXCEPTION_POINTERS *xp) {
2828
EXCEPTION_RECORD *xr = xp->ExceptionRecord;
2929
CONTEXT *xc = xp->ContextRecord;
3030

31-
if(xr->ExceptionCode == EXCEPTION_ACCESS_VIOLATION) {
32-
33-
if (phpdbg_watchpoint_segfault_handler((void *)xr->ExceptionInformation[1]) == SUCCESS) {
34-
return EXCEPTION_CONTINUE_EXECUTION;
35-
}
31+
switch (xc->ExceptionCode) {
32+
case EXCEPTION_ACCESS_VIOLATION:
33+
case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
34+
case EXCEPTION_STACK_OVERFLOW:
35+
if (phpdbg_watchpoint_segfault_handler((void *)xr->ExceptionInformation[1]) == SUCCESS) {
36+
return EXCEPTION_CONTINUE_EXECUTION;
37+
}
38+
break;
39+
EMPTY_SWITCH_DEFAULT_CASE()
3640
}
3741

3842
return EXCEPTION_CONTINUE_SEARCH;

0 commit comments

Comments
 (0)