[NTDLL/LDR]
authorRafal Harabien <rafalh@reactos.org>
Fri, 8 Jul 2011 19:42:53 +0000 (19:42 +0000)
committerRafal Harabien <rafalh@reactos.org>
Fri, 8 Jul 2011 19:42:53 +0000 (19:42 +0000)
- 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

reactos/dll/ntdll/ldr/ldrinit.c

index fd0aa39..40724db 100644 (file)
@@ -1624,16 +1624,10 @@ LdrpInitializeProcess(IN PCONTEXT Context,
                                    &ObjectAttributes);
 
     /* Check if it exists */
                                    &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 */
     {
         /* Open the Known DLLs Path */
+        RtlInitUnicodeString(&KnownDllString, L"KnownDllPath");
         InitializeObjectAttributes(&ObjectAttributes,
                                    &KnownDllString,
                                    OBJ_CASE_INSENSITIVE,
         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)
     {
     /* If we have process parameters, get the default path and current path */
     if (ProcessParameters)
     {