Module: wine Branch: master Commit: a462735270caf1503735a20b86e97ccead428cca URL: https://source.winehq.org/git/wine.git/?a=commit;h=a462735270caf1503735a20b8...
Author: Zebediah Figura z.figura12@gmail.com Date: Mon Mar 12 23:03:08 2018 -0500
ntdll: Fix exception parameters on x86-64.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/signal_x86_64.c | 3 +++ dlls/ntdll/tests/exception.c | 1 - 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index ee3d1f9..efbcc6e 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -2876,6 +2876,9 @@ static void segv_handler( int signal, siginfo_t *siginfo, void *sigcontext ) if (!err && (rec->ExceptionCode = is_privileged_instr( win_context ))) break; if ((err & 7) == 2 && handle_interrupt( err >> 3, rec, win_context )) break; rec->ExceptionCode = EXCEPTION_ACCESS_VIOLATION; + rec->NumberParameters = 2; + rec->ExceptionInformation[0] = 0; + rec->ExceptionInformation[1] = 0xffffffffffffffff; } break; case TRAP_x86_PAGEFLT: /* Page fault */ diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c index 320aa77..46e2a30 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c @@ -2370,7 +2370,6 @@ static DWORD WINAPI handler( EXCEPTION_RECORD *rec, ULONG64 frame, else parameter_count = except->alt_nb_params;
-todo_wine_if( rec->NumberParameters != parameter_count ) ok( rec->NumberParameters == parameter_count, "%u: Unexpected parameter count %u/%u\n", entry, rec->NumberParameters, parameter_count );