diff --git a/reactos/dll/win32/cryptnet/cryptnet_main.c b/reactos/dll/win32/cryptnet/cryptnet_main.c index b213c081d63..e421625c589 100644 --- a/reactos/dll/win32/cryptnet/cryptnet_main.c +++ b/reactos/dll/win32/cryptnet/cryptnet_main.c @@ -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)))