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