From 446f263ed3a2c6143a9a2292359d3503c0857f46 Mon Sep 17 00:00:00 2001 From: David Welch Date: Tue, 24 Feb 2004 23:50:26 +0000 Subject: [PATCH] - Try to avoid crashing when dumping out a corrupted stack. svn path=/trunk/; revision=8360 --- reactos/ntoskrnl/ke/i386/exp.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/ke/i386/exp.c b/reactos/ntoskrnl/ke/i386/exp.c index 2afd69b345f..0645581eed6 100644 --- a/reactos/ntoskrnl/ke/i386/exp.c +++ b/reactos/ntoskrnl/ke/i386/exp.c @@ -500,8 +500,20 @@ KiDumpTrapFrame(PKTRAP_FRAME Tf, ULONG Parameter1, ULONG Parameter2) Frame = (PULONG)Tf->Ebp; while (Frame != NULL) { - print_address((PVOID)Frame[1]); - Frame = (PULONG)Frame[0]; + NTSTATUS Status; + PVOID Eip; + Status = MmSafeCopyFromUser(&Eip, Frame + 1, sizeof(Eip)); + if (!NT_SUCCESS(Status)) + { + DbgPrint(""); + break; + } + print_address(Eip); + Status = MmSafeCopyFromUser(&Frame, Frame, sizeof(Frame)); + if (!NT_SUCCESS(Status)) + { + break; + } i++; DbgPrint(" "); }