Module: wine Branch: master Commit: 48111674106c74013149389767a16ec24e001ccb URL: http://source.winehq.org/git/wine.git/?a=commit;h=48111674106c74013149389767...
Author: Andrew Eikum aeikum@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: