[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
This commit is contained in:
Timo Kreuzer 2010-04-30 22:47:44 +00:00
parent 0409ef75e8
commit 8dc269c258

View file

@ -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 */