[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
This commit is contained in:
Aleksey Bragin 2011-08-19 21:36:16 +00:00
parent a95d8d2213
commit 2cbe366a65

View file

@ -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);