From 2cbe366a655c035c729c74f65d590623efd828a8 Mon Sep 17 00:00:00 2001 From: Aleksey Bragin Date: Fri, 19 Aug 2011 21:36:16 +0000 Subject: [PATCH] [NTDLL/LDR] - Fix acquiring image path from process parameters block (the if condition was inverted so that normalization didn't occur when it should). - Reenable the image options initialization code. svn path=/trunk/; revision=53327 --- reactos/dll/ntdll/ldr/ldrinit.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/reactos/dll/ntdll/ldr/ldrinit.c b/reactos/dll/ntdll/ldr/ldrinit.c index 30b6d93f62a..e76ac878514 100644 --- a/reactos/dll/ntdll/ldr/ldrinit.c +++ b/reactos/dll/ntdll/ldr/ldrinit.c @@ -1311,16 +1311,15 @@ NTSTATUS NTAPI LdrpInitializeExecutionOptions(PUNICODE_STRING ImagePathName, PPEB Peb, PHKEY OptionsKey) { - //NTSTATUS Status; - //HKEY KeyHandle; - //ULONG ExecuteOptions, MinimumStackCommit = 0, GlobalFlag; + NTSTATUS Status; + HKEY KeyHandle; + ULONG ExecuteOptions, MinimumStackCommit = 0, GlobalFlag; /* Return error if we were not provided a pointer where to save the options key handle */ if (!OptionsKey) return STATUS_INVALID_HANDLE; /* Zero initialize the optinos key pointer */ *OptionsKey = NULL; -#if 0 /* Open the options key */ Status = LdrOpenImageFileOptionsKey(ImagePathName, 0, &KeyHandle); @@ -1409,7 +1408,7 @@ LdrpInitializeExecutionOptions(PUNICODE_STRING ImagePathName, PPEB Peb, PHKEY Op // Status = LdrpInitializeApplicationVerifierPackage(ImagePathName, Peb, 1, FALSE); } } -#endif + return STATUS_SUCCESS; } @@ -1466,8 +1465,8 @@ LdrpInitializeProcess(IN PCONTEXT Context, /* Get the image path */ ImagePath = Peb->ProcessParameters->ImagePathName.Buffer; - /* Check if it's normalized */ - if (Peb->ProcessParameters->Flags & RTL_USER_PROCESS_PARAMETERS_NORMALIZED) + /* Check if it's not normalized */ + if (!(Peb->ProcessParameters->Flags & RTL_USER_PROCESS_PARAMETERS_NORMALIZED)) { /* Normalize it*/ ImagePath = (PWSTR)((ULONG_PTR)ImagePath + (ULONG_PTR)Peb->ProcessParameters);