diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index ee3d1f905a6..efbcc6e4483 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 320aa77f12a..46e2a3039de 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 );