From 99a6ae5b863b220e72f01abc9ce3ab1c7be9d7f7 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Tue, 25 Aug 2020 19:53:58 +0300 Subject: [PATCH] ntdll: Fix arm64 jump buffer float restoration. Fix a typo in copying fields from the jump buffer to the context, use the right type of long in the struct. Signed-off-by: Martin Storsjo Signed-off-by: Alexandre Julliard --- dlls/ntdll/signal_arm64.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index 719c71f952e..d0f8c875b8a 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -57,8 +57,8 @@ struct MSVCRT_JUMP_BUFFER unsigned __int64 Fp; unsigned __int64 Lr; unsigned __int64 Sp; - unsigned long Fpcr; - unsigned long Fpsr; + ULONG Fpcr; + ULONG Fpsr; double D[8]; }; @@ -1002,7 +1002,7 @@ void CDECL RtlRestoreContext( CONTEXT *context, EXCEPTION_RECORD *rec ) context->Fpsr = jmp->Fpsr; for (i = 0; i < 8; i++) - context->V[8+i].D[0] = jmp->D[0]; + context->V[8+i].D[0] = jmp->D[i]; } else if (rec && rec->ExceptionCode == STATUS_UNWIND_CONSOLIDATE && rec->NumberParameters >= 1) {