Andrew Eikum : shlwapi: Check for NULL string in UrlIs.

Alexandre Julliard julliard at winehq.org
Mon Apr 12 09:54:07 CDT 2010


Module: wine
Branch: master
Commit: 48111674106c74013149389767a16ec24e001ccb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=48111674106c74013149389767a16ec24e001ccb

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Fri Apr  9 18:08:16 2010 -0500

shlwapi: Check for NULL string in UrlIs.

---

 dlls/shlwapi/tests/url.c |   17 +++++++++++++++++
 dlls/shlwapi/url.c       |    6 ++++++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c
index f7c9455..0dd9643 100644
--- a/dlls/shlwapi/tests/url.c
+++ b/dlls/shlwapi/tests/url.c
@@ -1048,6 +1048,15 @@ static void test_UrlCreateFromPath(void)
 
 /* ########################### */
 
+static void test_UrlIs_null(DWORD flag)
+{
+    BOOL ret;
+    ret = pUrlIsA(NULL, flag);
+    ok(ret == FALSE, "pUrlIsA(NULL, %d) failed\n", flag);
+    ret = pUrlIsW(NULL, flag);
+    ok(ret == FALSE, "pUrlIsW(NULL, %d) failed\n", flag);
+}
+
 static void test_UrlIs(void)
 {
     BOOL ret;
@@ -1059,6 +1068,14 @@ static void test_UrlIs(void)
         return;
     }
 
+    test_UrlIs_null(URLIS_APPLIABLE);
+    test_UrlIs_null(URLIS_DIRECTORY);
+    test_UrlIs_null(URLIS_FILEURL);
+    test_UrlIs_null(URLIS_HASQUERY);
+    test_UrlIs_null(URLIS_NOHISTORY);
+    test_UrlIs_null(URLIS_OPAQUE);
+    test_UrlIs_null(URLIS_URL);
+
     for(i = 0; i < sizeof(TEST_PATH_IS_URL) / sizeof(TEST_PATH_IS_URL[0]); i++) {
 	MultiByteToWideChar(CP_ACP, 0, TEST_PATH_IS_URL[i].path, -1, wurl, 80);
 
diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c
index d6487b3..cd83b45 100644
--- a/dlls/shlwapi/url.c
+++ b/dlls/shlwapi/url.c
@@ -1719,6 +1719,9 @@ BOOL WINAPI UrlIsA(LPCSTR pszUrl, URLIS Urlis)
 
     TRACE("(%s %d)\n", debugstr_a(pszUrl), Urlis);
 
+    if(!pszUrl)
+        return FALSE;
+
     switch (Urlis) {
 
     case URLIS_OPAQUE:
@@ -1769,6 +1772,9 @@ BOOL WINAPI UrlIsW(LPCWSTR pszUrl, URLIS Urlis)
 
     TRACE("(%s %d)\n", debugstr_w(pszUrl), Urlis);
 
+    if(!pszUrl)
+        return FALSE;
+
     switch (Urlis) {
 
     case URLIS_OPAQUE:




More information about the wine-cvs mailing list