diff --git a/reactos/dll/win32/urlmon/file.c b/reactos/dll/win32/urlmon/file.c index b3691b0ed06..d3004ac6a22 100644 --- a/reactos/dll/win32/urlmon/file.c +++ b/reactos/dll/win32/urlmon/file.c @@ -119,6 +119,9 @@ static HRESULT WINAPI FileProtocol_Start(IInternetProtocol *iface, LPCWSTR szUrl ReleaseBindInfo(&bindinfo); + if(!szUrl || !*szUrl) + return E_INVALIDARG; + if(lstrlenW(szUrl) < sizeof(wszFile)/sizeof(WCHAR) || memcmp(szUrl, wszFile, sizeof(wszFile))) return MK_E_SYNTAX; @@ -154,6 +157,9 @@ static HRESULT WINAPI FileProtocol_Start(IInternetProtocol *iface, LPCWSTR szUrl } } + if(file_name[1] == '|') + file_name[1] = ':'; + This->file = CreateFileW(file_name, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); diff --git a/reactos/dll/win32/urlmon/urlmon.rbuild b/reactos/dll/win32/urlmon/urlmon.rbuild index ad9dcf3a88e..4499c3537dc 100644 --- a/reactos/dll/win32/urlmon/urlmon.rbuild +++ b/reactos/dll/win32/urlmon/urlmon.rbuild @@ -1,7 +1,7 @@ - + . @@ -28,13 +28,13 @@ rsrc.rc urlmon.spec wine + uuid ole32 shlwapi wininet user32 advapi32 kernel32 - uuid ntdll