diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c index 32406335897..5421fe1f386 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 9b0a2e70651..ac8e9b3c410 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); }