From 8dc269c258e4554784f2fa13949e1a0f65d3d0c4 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Fri, 30 Apr 2010 22:47:44 +0000 Subject: [PATCH] [NTOSKRNL] - Fix RtlWalkFrameChain to do usermode back traces for threads that are not system threads. Also use _SEH2_YIELD when leaving the SEH block. svn path=/trunk/; revision=47066 --- reactos/ntoskrnl/rtl/libsupp.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/rtl/libsupp.c b/reactos/ntoskrnl/rtl/libsupp.c index 27f78952c72..4a6c8bc55ea 100644 --- a/reactos/ntoskrnl/rtl/libsupp.c +++ b/reactos/ntoskrnl/rtl/libsupp.c @@ -317,7 +317,7 @@ RtlWalkFrameChain(OUT PVOID *Callers, &StackBegin, &StackEnd); if (!Result) return 0; - } + } /* Use a SEH block for maximum protection */ _SEH2_TRY @@ -331,12 +331,11 @@ RtlWalkFrameChain(OUT PVOID *Callers, /* Make sure we can trust the TEB and trap frame */ if (!(Teb) || - !(Thread->SystemThread) || (KeIsAttachedProcess()) || (KeGetCurrentIrql() >= DISPATCH_LEVEL)) { /* Invalid or unsafe attempt to get the stack */ - return 0; + _SEH2_YIELD(return 0;) } /* Get the stack limits */ -- 2.17.1