From d65cf932464ed2bd74f3e050580082154d749460 Mon Sep 17 00:00:00 2001 From: Dmitry Gorbachev Date: Sat, 12 Dec 2009 20:53:23 +0000 Subject: [PATCH] Patch for LdrFixupImports() by Alexander Yastrebov, bug #4954. svn path=/trunk/; revision=44556 --- reactos/dll/ntdll/ldr/utils.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/reactos/dll/ntdll/ldr/utils.c b/reactos/dll/ntdll/ldr/utils.c index 2b77c3a84dd..ab129e9ca6e 100644 --- a/reactos/dll/ntdll/ldr/utils.c +++ b/reactos/dll/ntdll/ldr/utils.c @@ -2063,24 +2063,25 @@ Success: } ImportModuleDirectoryCurrent++; } - if(!NT_SUCCESS(Status)) + + if (!NT_SUCCESS(Status)) { NTSTATUS errorStatus = Status; - while(ImportModuleDirectoryCurrent-- >= ImportModuleDirectory) + while (ImportModuleDirectoryCurrent >= ImportModuleDirectory) { ImportedName = (PCHAR)Module->DllBase + ImportModuleDirectoryCurrent->Name; Status = LdrpGetOrLoadModule(NULL, ImportedName, &ImportedModule, FALSE); - if(NT_SUCCESS(Status) && Module != ImportedModule) + if (NT_SUCCESS(Status) && Module != ImportedModule) { Status = LdrpUnloadModule(ImportedModule, FALSE); if (!NT_SUCCESS(Status)) DPRINT1("unable to unload %s\n", ImportedName); } + ImportModuleDirectoryCurrent--; } return errorStatus; } - } if (TlsDirectory && TlsSize > 0) -- 2.17.1