From: Jacek Caban <jacek@codeweavers.com> --- dlls/ntdll/signal_arm64ec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/signal_arm64ec.c b/dlls/ntdll/signal_arm64ec.c index 954ace7824e..b6a9aa5f045 100644 --- a/dlls/ntdll/signal_arm64ec.c +++ b/dlls/ntdll/signal_arm64ec.c @@ -1404,7 +1404,8 @@ static void __attribute__((used)) capture_context( CONTEXT *context, UINT cpsr, /* unwind one level to get register values from caller function */ unwind_context = *context; unwind_one_frame( &unwind_context ); - memcpy( &context->Rax, &unwind_context.Rax, offsetof(CONTEXT,FltSave) - offsetof(CONTEXT,Rax) ); + if (!RtlIsEcCode( unwind_context.Rip )) + memcpy( &context->Rax, &unwind_context.Rax, offsetof(CONTEXT,FltSave) - offsetof(CONTEXT,Rax) ); } /*********************************************************************** -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10903