Paul Gofman : ntdll: Clear CONTEXT_XSTATE flag in RtlUnwindEx().
Module: wine Branch: master Commit: 8aa370e9919f179feeece8dac9782f90f2e2b09c URL: https://source.winehq.org/git/wine.git/?a=commit;h=8aa370e9919f179feeece8dac... Author: Paul Gofman <pgofman(a)codeweavers.com> Date: Mon Aug 31 20:46:41 2020 +0300 ntdll: Clear CONTEXT_XSTATE flag in RtlUnwindEx(). Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49749 Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/signal_x86_64.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index ba91cc13df..6fbb612825 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -1244,7 +1244,9 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec { ULONG64 frame; - *context = new_context = *dispatch.ContextRecord; + new_context = *dispatch.ContextRecord; + new_context.ContextFlags &= ~0x40; + *context = new_context; dispatch.ContextRecord = context; RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase, dispatch.ControlPc, dispatch.FunctionEntry, @@ -1267,7 +1269,9 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec teb_frame = __wine_pop_frame( teb_frame ); - *context = new_context = *dispatch.ContextRecord; + new_context = *dispatch.ContextRecord; + new_context.ContextFlags &= ~0x40; + *context = new_context; dispatch.ContextRecord = context; RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase, dispatch.ControlPc, dispatch.FunctionEntry,
participants (1)
-
Alexandre Julliard