fix infinite loop in KeRosDumpStackFrames()

svn path=/trunk/; revision=12108
This commit is contained in:
Royce Mitchell III 2004-12-14 03:46:10 +00:00
parent 6484c7e5b5
commit be95834e02

View file

@ -659,13 +659,14 @@ KeRosDumpStackFrames ( PULONG Frame, ULONG FrameCount )
} }
while ( MmIsAddressValid(Frame) && i++ < FrameCount ) while ( MmIsAddressValid(Frame) && i++ < FrameCount )
{ {
if (!KeRosPrintAddress((PVOID)Frame[1])) ULONG Addr = Frame[1];
if (!KeRosPrintAddress((PVOID)Addr))
{ {
DbgPrint("<%X>", (PVOID)Frame[1]); DbgPrint("<%X>", Addr);
} }
if (Frame[1] == 0xdeadbeef) if ( Addr == 0 || Addr == 0xDEADBEEF )
{ {
break; break;
} }
Frame = (PULONG)Frame[0]; Frame = (PULONG)Frame[0];
DbgPrint(" "); DbgPrint(" ");