[CRYPTNET] don't try to prepend a drive letter when there is one already
authorChristoph von Wittich <christoph_vw@reactos.org>
Sat, 24 Sep 2016 12:19:35 +0000 (12:19 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Sat, 24 Sep 2016 12:19:35 +0000 (12:19 +0000)
svn path=/trunk/; revision=72793

reactos/dll/win32/cryptnet/cryptnet_main.c

index b213c08..e421625 100644 (file)
@@ -1025,8 +1025,11 @@ static BOOL WINAPI File_RetrieveEncodedObjectW(LPCWSTR pszURL,
              components.dwUrlPathLength + 1);
             hFile = CreateFileW(path, GENERIC_READ, FILE_SHARE_READ,
              NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
-#ifndef __REACTOS__
-            if (hFile == INVALID_HANDLE_VALUE)
+#ifdef __REACTOS__
+            if ((hFile == INVALID_HANDLE_VALUE) && (lstrlenW(components.lpszUrlPath) > 1) && (components.lpszUrlPath[1] != ':'))
+#else
+            if ((hFile == INVALID_HANDLE_VALUE)
+#endif
             {
                 /* Try again on the current drive */
                 GetCurrentDirectoryW(components.dwUrlPathLength, path);
@@ -1050,7 +1053,6 @@ static BOOL WINAPI File_RetrieveEncodedObjectW(LPCWSTR pszURL,
                     }
                 }
             }
-#endif
             if (hFile != INVALID_HANDLE_VALUE)
             {
                 if ((ret = CRYPT_GetObjectFromFile(hFile, pObject)))