From 2e60fd207afe9a00d8d40d2ffe7cced881d5af60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9=20van=20Geldorp?= Date: Sun, 20 Jun 2004 10:36:17 +0000 Subject: [PATCH] Handle ordinals which are not exported svn path=/trunk/; revision=9745 --- reactos/lib/ntdll/ldr/utils.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/reactos/lib/ntdll/ldr/utils.c b/reactos/lib/ntdll/ldr/utils.c index acaba6fc7f6..88ec8c81f89 100644 --- a/reactos/lib/ntdll/ldr/utils.c +++ b/reactos/lib/ntdll/ldr/utils.c @@ -1,4 +1,4 @@ -/* $Id: utils.c,v 1.89 2004/06/15 08:17:23 hbirr Exp $ +/* $Id: utils.c,v 1.90 2004/06/20 10:36:17 gvg Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -999,7 +999,6 @@ LdrGetExportByOrdinal ( PIMAGE_EXPORT_DIRECTORY ExportDir; ULONG ExportDirSize; PDWORD * ExFunctions; - USHORT * ExOrdinals; PVOID Function; ExportDir = (PIMAGE_EXPORT_DIRECTORY) @@ -1009,11 +1008,6 @@ LdrGetExportByOrdinal ( &ExportDirSize); - ExOrdinals = (USHORT *) - RVA( - BaseAddress, - ExportDir->AddressOfNameOrdinals - ); ExFunctions = (PDWORD *) RVA( BaseAddress, @@ -1025,7 +1019,9 @@ LdrGetExportByOrdinal ( RVA(BaseAddress, ExFunctions[Ordinal - ExportDir->Base] ) ); - Function = RVA(BaseAddress, ExFunctions[Ordinal - ExportDir->Base] ); + Function = (0 != ExFunctions[Ordinal - ExportDir->Base] + ? RVA(BaseAddress, ExFunctions[Ordinal - ExportDir->Base] ) + : NULL); if (((ULONG)Function >= (ULONG)ExportDir) && ((ULONG)Function < (ULONG)ExportDir + (ULONG)ExportDirSize))