Jacek Caban : urlmon: Return E_INVALIDARG for empty pwzURI in CreateUri.
Alexandre Julliard
julliard at winehq.org
Thu Sep 2 12:01:24 CDT 2010
Module: wine
Branch: master
Commit: d8bfb7f8dbe80d8b58f27f06bde9a6484dda1c0d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d8bfb7f8dbe80d8b58f27f06bde9a6484dda1c0d
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Sep 2 00:26:13 2010 +0200
urlmon: Return E_INVALIDARG for empty pwzURI in CreateUri.
---
dlls/urlmon/tests/uri.c | 6 ++++++
dlls/urlmon/uri.c | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/urlmon/tests/uri.c b/dlls/urlmon/tests/uri.c
index d6bff96..09cc3b6 100644
--- a/dlls/urlmon/tests/uri.c
+++ b/dlls/urlmon/tests/uri.c
@@ -4492,6 +4492,7 @@ static void test_CreateUri_InvalidArgs(void) {
IUri *uri = (void*) 0xdeadbeef;
const WCHAR invalidW[] = {'i','n','v','a','l','i','d',0};
+ static const WCHAR emptyW[] = {0};
hr = pCreateUri(http_urlW, 0, 0, NULL);
ok(hr == E_INVALIDARG, "Error: CreateUri returned 0x%08x, expected 0x%08x\n", hr, E_INVALIDARG);
@@ -4504,6 +4505,11 @@ static void test_CreateUri_InvalidArgs(void) {
hr = pCreateUri(invalidW, 0, 0, &uri);
ok(hr == E_INVALIDARG, "Error: CreateUri returned 0x%08x, expected 0x%08x.\n", hr, E_INVALIDARG);
ok(uri == NULL, "Error: Expected the IUri to be NULL, but it was %p instead\n", uri);
+
+ uri = (void*) 0xdeadbeef;
+ hr = pCreateUri(emptyW, 0, 0, &uri);
+ ok(hr == E_INVALIDARG, "Error: CreateUri returned 0x%08x, expected 0x%08x.\n", hr, E_INVALIDARG);
+ ok(uri == NULL, "Error: Expected the IUri to be NULL, but it was %p instead\n", uri);
}
static void test_CreateUri_InvalidUri(void) {
diff --git a/dlls/urlmon/uri.c b/dlls/urlmon/uri.c
index e2bec70..4377548 100644
--- a/dlls/urlmon/uri.c
+++ b/dlls/urlmon/uri.c
@@ -4058,7 +4058,7 @@ HRESULT WINAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IU
if(!ppURI)
return E_INVALIDARG;
- if(!pwzURI) {
+ if(!pwzURI || !*pwzURI) {
*ppURI = NULL;
return E_INVALIDARG;
}
More information about the wine-cvs
mailing list