[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 <martin(a)martin.st> --- 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 4cdc6340fa..53f866acab 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]; }; @@ -1039,7 +1039,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) { -- 2.17.1
participants (1)
-
Martin Storsjo