Jacek Caban : wininet: Always set returned size in InternetGetCookieExA.

Alexandre Julliard julliard at winehq.org
Wed Jul 6 09:57:32 CDT 2016


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jul  6 13:44:01 2016 +0200

wininet: Always set returned size in InternetGetCookieExA.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wininet/cookie.c         | 4 ++--
 dlls/wininet/tests/internet.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c
index 3240633..5421fe1 100644
--- a/dlls/wininet/cookie.c
+++ b/dlls/wininet/cookie.c
@@ -808,7 +808,7 @@ BOOL WINAPI InternetGetCookieExA(LPCSTR lpszUrl, LPCSTR lpszCookieName,
         LPSTR lpCookieData, LPDWORD lpdwSize, DWORD flags, void *reserved)
 {
     WCHAR *url, *name;
-    DWORD len, size;
+    DWORD len, size = 0;
     BOOL r;
 
     TRACE("(%s %s %p %p(%u) %x %p)\n", debugstr_a(lpszUrl), debugstr_a(lpszCookieName),
@@ -841,12 +841,12 @@ BOOL WINAPI InternetGetCookieExA(LPCSTR lpszUrl, LPCSTR lpszCookieName,
                         r = FALSE;
                     }
                 }
-                *lpdwSize = size;
             }
 
             heap_free( szCookieData );
         }
     }
+    *lpdwSize = size;
     heap_free( name );
     heap_free( url );
     return r;
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 9b0a2e7..ac8e9b3 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -360,11 +360,13 @@ static void test_get_cookie(void)
   DWORD len;
   BOOL ret;
 
+  len = 1024;
   SetLastError(0xdeadbeef);
   ret = InternetGetCookieA("http://www.example.com", NULL, NULL, &len);
   ok(!ret && GetLastError() == ERROR_NO_MORE_ITEMS,
     "InternetGetCookie should have failed with %s and error %d\n",
     ret ? "TRUE" : "FALSE", GetLastError());
+  ok(!len, "len = %u\n", len);
 }
 
 




More information about the wine-cvs mailing list