Module: wine Branch: master Commit: ec0a0b372ef7e30b2a52ec09754c7d238ae90de7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ec0a0b372ef7e30b2a52ec0975...
Author: Hans Leidekker hans@codeweavers.com Date: Wed Oct 21 13:19:42 2009 +0200
winhttp: Fix two memory leaks.
Found by valgrind.
---
dlls/winhttp/cookie.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/dlls/winhttp/cookie.c b/dlls/winhttp/cookie.c index 6c0f8b4..af881ea 100644 --- a/dlls/winhttp/cookie.c +++ b/dlls/winhttp/cookie.c @@ -39,7 +39,7 @@ static domain_t *add_domain( session_t *session, WCHAR *name ) list_init( &domain->entry ); list_init( &domain->cookies );
- domain->name = name; + domain->name = strdupW( name ); list_add_tail( &session->cookie_cache, &domain->entry );
TRACE("%s\n", debugstr_w(domain->name)); @@ -120,7 +120,7 @@ static BOOL add_cookie( session_t *session, cookie_t *cookie, WCHAR *domain_name } else if ((old_cookie = find_cookie( domain, path, cookie->name ))) delete_cookie( old_cookie );
- cookie->path = path; + cookie->path = strdupW( path ); list_add_tail( &domain->cookies, &cookie->entry );
TRACE("domain %s path %s <- %s=%s\n", debugstr_w(domain_name), debugstr_w(cookie->path), @@ -230,12 +230,9 @@ BOOL set_cookies( request_t *request, const WCHAR *cookies ) ret = add_cookie( session, cookie, cookie_domain, cookie_path );
end: - if (!ret) - { - free_cookie( cookie ); - heap_free( cookie_domain ); - heap_free( cookie_path ); - } + if (!ret) free_cookie( cookie ); + heap_free( cookie_domain ); + heap_free( cookie_path ); heap_free( buffer ); return ret; }