https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0c211b975f9532875bfa79c8f8949832c6aee4b9

commit 0c211b975f9532875bfa79c8f8949832c6aee4b9
Author:     Timo Kreuzer <[email protected]>
AuthorDate: Sat Aug 20 21:41:10 2022 +0200
Commit:     Timo Kreuzer <[email protected]>
CommitDate: Thu Nov 24 21:17:58 2022 +0200

    [RTL] Fixes for RtlpUnwindInternal
---
 sdk/lib/rtl/amd64/unwind.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sdk/lib/rtl/amd64/unwind.c b/sdk/lib/rtl/amd64/unwind.c
index 2b596341eb0..6618d9fba12 100644
--- a/sdk/lib/rtl/amd64/unwind.c
+++ b/sdk/lib/rtl/amd64/unwind.c
@@ -693,7 +693,7 @@ RtlpUnwindInternal(
     UnwindContext = *ContextRecord;
 
     /* Set up the constant fields of the dispatcher context */
-    DispatcherContext.ContextRecord = ContextRecord;
+    DispatcherContext.ContextRecord = &UnwindContext;
     DispatcherContext.HistoryTable = HistoryTable;
     DispatcherContext.TargetIp = (ULONG64)TargetIp;
 
@@ -778,7 +778,7 @@ RtlpUnwindInternal(
                 /* Call the language specific handler */
                 Disposition = ExceptionRoutine(ExceptionRecord,
                                                (PVOID)EstablisherFrame,
-                                               &UnwindContext,
+                                               ContextRecord,
                                                &DispatcherContext);
 
                 /* Clear exception flags for the next iteration */
@@ -991,7 +991,7 @@ RtlWalkFrameChain(OUT PVOID *Callers,
             }
 
             /* Check, if we have left our stack */
-            if ((Context.Rsp < StackLow) || (Context.Rsp > StackHigh))
+            if ((Context.Rsp <= StackLow) || (Context.Rsp >= StackHigh))
             {
                 break;
             }

Reply via email to