[NTDLL/LDR]

- Use \\KnownDlls\\KnownDllPath instead of \\KnownDlls\\KnownDlls to check known dlls patch (spotted by Thomas Faber)
- Assume known dlls are in system32 if \\KnownDlls exists but KnownDllPath not

svn path=/trunk/; revision=52574
This commit is contained in:
Rafal Harabien 2011-07-08 19:42:53 +00:00
parent 820aba4e5a
commit dbe1886186

View file

@ -1624,16 +1624,10 @@ LdrpInitializeProcess(IN PCONTEXT Context,
&ObjectAttributes);
/* Check if it exists */
if (!NT_SUCCESS(Status))
{
/* It doesn't, so assume System32 */
LdrpKnownDllObjectDirectory = NULL;
RtlInitUnicodeString(&LdrpKnownDllPath, StringBuffer);
LdrpKnownDllPath.Length -= sizeof(WCHAR);
}
else
if (NT_SUCCESS(Status))
{
/* Open the Known DLLs Path */
RtlInitUnicodeString(&KnownDllString, L"KnownDllPath");
InitializeObjectAttributes(&ObjectAttributes,
&KnownDllString,
OBJ_CASE_INSENSITIVE,
@ -1658,6 +1652,15 @@ LdrpInitializeProcess(IN PCONTEXT Context,
}
}
/* Check if we failed */
if (!NT_SUCCESS(Status))
{
/* Aassume System32 */
LdrpKnownDllObjectDirectory = NULL;
RtlInitUnicodeString(&LdrpKnownDllPath, StringBuffer);
LdrpKnownDllPath.Length -= sizeof(WCHAR);
}
/* If we have process parameters, get the default path and current path */
if (ProcessParameters)
{