Paul Gofman : ntdll: Clear CONTEXT_XSTATE flag in RtlUnwindEx().

Alexandre Julliard julliard at winehq.org
Mon Aug 31 17:16:54 CDT 2020


Module: wine
Branch: master
Commit: 8aa370e9919f179feeece8dac9782f90f2e2b09c
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=8aa370e9919f179feeece8dac9782f90f2e2b09c

Author: Paul Gofman <pgofman at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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,




More information about the wine-cvs mailing list