Module: wine Branch: master Commit: 55e3ec650e43dcd01cbc5c9f87c7e8be829980ed URL: http://source.winehq.org/git/wine.git/?a=commit;h=55e3ec650e43dcd01cbc5c9f87...
Author: Jacek Caban jacek@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)