From 9f784a4848ba24b8960030a56df9062bb34a770e Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Sat, 30 Jul 2005 23:08:26 +0000 Subject: [PATCH] Ignore the "magic flag" in RtlImageDirectoryEntryToData. svn path=/trunk/; revision=16905 --- reactos/lib/rtl/image.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reactos/lib/rtl/image.c b/reactos/lib/rtl/image.c index ce1b2f42faf..019330a46a3 100644 --- a/reactos/lib/rtl/image.c +++ b/reactos/lib/rtl/image.c @@ -27,8 +27,11 @@ RtlImageNtHeader (IN PVOID BaseAddress) if (DosHeader && DosHeader->e_magic != IMAGE_DOS_SIGNATURE) { + extern ULONG KdDebuggerEnabled; DPRINT1("DosHeader->e_magic %x\n", DosHeader->e_magic); DPRINT1("NtHeader 0x%p\n", ((ULONG_PTR)BaseAddress + DosHeader->e_lfanew)); + if (KdDebuggerEnabled) + DbgBreakPoint(); } if (DosHeader && DosHeader->e_magic == IMAGE_DOS_SIGNATURE) @@ -57,6 +60,10 @@ RtlImageDirectoryEntryToData ( PIMAGE_NT_HEADERS NtHeader; ULONG Va; + /* Magic flag for non-mapped images. */ + if ((ULONG_PTR)BaseAddress & 1) + BaseAddress = (PVOID)((ULONG_PTR)BaseAddress & ~1); + NtHeader = RtlImageNtHeader (BaseAddress); if (NtHeader == NULL) return NULL;