Jacek Caban : wininet: Fixed buffer size rising in get_cookie.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Sep 2 14:30:39 CDT 2014


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Sep  2 13:05:34 2014 +0200

wininet: Fixed buffer size rising in get_cookie.

---

 dlls/wininet/cookie.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c
index d98a127..57e5424 100644
--- a/dlls/wininet/cookie.c
+++ b/dlls/wininet/cookie.c
@@ -635,17 +635,18 @@ static DWORD get_cookie(const WCHAR *host, const WCHAR *path, DWORD flags, cooki
                 if((cookie_iter->flags & INTERNET_COOKIE_HTTPONLY) && !(flags & INTERNET_COOKIE_HTTPONLY))
                     continue;
 
-                if(res->size) {
+
+                if(!res->size) {
+                    res->cookies = heap_alloc(4*sizeof(*res->cookies));
+                    if(!res->cookies)
+                        continue;
+                    res->size = 4;
+                }else if(res->cnt == res->size) {
                     cookie_t **new_cookies = heap_realloc(res->cookies, res->size*2*sizeof(*res->cookies));
                     if(!new_cookies)
                         continue;
                     res->cookies = new_cookies;
                     res->size *= 2;
-                }else {
-                    res->cookies = heap_alloc(4*sizeof(*res->cookies));
-                    if(!res->cookies)
-                        continue;
-                    res->size = 4;
                 }
 
                 if(res->cnt)




More information about the wine-cvs mailing list