Martin Storsjo : ntdll: Pass a nonnull handler_data in when continuing after a collided unwind.

Alexandre Julliard julliard at winehq.org
Thu May 28 17:11:10 CDT 2020


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

Author: Martin Storsjo <martin at martin.st>
Date:   Thu May 28 11:14:40 2020 +0300

ntdll: Pass a nonnull handler_data in when continuing after a collided unwind.

This matches what was done for RtlUnwindEx in
93ecc54ae560a3677dfa78ca0f5448d7aef0cbd9, applying the same change
in call_function_handlers (when called from raise_exception).

Signed-off-by: Martin Storsjo <martin at martin.st>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/signal_arm64.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index 8ccf3da57e..b364f08e9a 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -859,7 +859,7 @@ static NTSTATUS call_function_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_con
                 dispatch.ContextRecord = &context;
                 RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase,
                                   dispatch.ControlPc, dispatch.FunctionEntry,
-                                  &context, NULL, &frame, NULL );
+                                  &context, &dispatch.HandlerData, &frame, NULL );
                 goto unwind_done;
             }
             default:
@@ -889,7 +889,7 @@ static NTSTATUS call_function_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_con
                 dispatch.ContextRecord = &context;
                 RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase,
                                   dispatch.ControlPc, dispatch.FunctionEntry,
-                                  &context, NULL, &frame, NULL );
+                                  &context, &dispatch.HandlerData, &frame, NULL );
                 teb_frame = teb_frame->Prev;
                 goto unwind_done;
             }




More information about the wine-cvs mailing list