Lei Zhang : wininet: Handle NULL input for FindCloseUrlCache.

Alexandre Julliard julliard at winehq.org
Fri May 9 06:26:54 CDT 2008


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

Author: Lei Zhang <thestig at google.com>
Date:   Thu May  8 11:14:41 2008 -0700

wininet: Handle NULL input for FindCloseUrlCache.

---

 dlls/wininet/tests/urlcache.c |   11 +++++++++++
 dlls/wininet/urlcache.c       |    2 +-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/dlls/wininet/tests/urlcache.c b/dlls/wininet/tests/urlcache.c
index 6570d5a..08ffebb 100644
--- a/dlls/wininet/tests/urlcache.c
+++ b/dlls/wininet/tests/urlcache.c
@@ -166,7 +166,18 @@ static void test_urlcacheA(void)
     ok(!ret && GetLastError() == ERROR_FILE_NOT_FOUND, "local file should no longer exist\n");
 }
 
+static void test_FindCloseUrlCache(void)
+{
+    BOOL r;
+    DWORD err;
+    r = FindCloseUrlCache(NULL);
+    err = GetLastError();
+    ok(0 == r, "expected 0, got %d\n", r);
+    ok(ERROR_INVALID_HANDLE == err, "expected %d, got %d\n", ERROR_INVALID_HANDLE, err);
+}
+
 START_TEST(urlcache)
 {
     test_urlcacheA();
+    test_FindCloseUrlCache();
 }
diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c
index 6b00ebb..6e76893 100644
--- a/dlls/wininet/urlcache.c
+++ b/dlls/wininet/urlcache.c
@@ -3127,7 +3127,7 @@ BOOL WINAPI FindCloseUrlCache(HANDLE hEnumHandle)
 
     TRACE("(%p)\n", hEnumHandle);
 
-    if (pEntryHandle->dwMagic != URLCACHE_FIND_ENTRY_HANDLE_MAGIC)
+    if (!pEntryHandle || pEntryHandle->dwMagic != URLCACHE_FIND_ENTRY_HANDLE_MAGIC)
     {
         SetLastError(ERROR_INVALID_HANDLE);
         return FALSE;




More information about the wine-cvs mailing list