- Andre Guibert de Bruet found and fixed a memory leak in the content encoding

code, which could happen on libz errors.
This commit is contained in:
Daniel Stenberg 2009-02-14 09:09:09 +00:00
parent 4f7687895d
commit d315d41a12
3 changed files with 9 additions and 3 deletions

View File

@ -6,6 +6,10 @@
Changelog Changelog
Daniel Stenberg (14 Feb 2009)
- Andre Guibert de Bruet found and fixed a memory leak in the content encoding
code, which could happen on libz errors.
Daniel Fandrich (12 Feb 2009) Daniel Fandrich (12 Feb 2009)
- Added support for Digest and NTLM authentication using GnuTLS. - Added support for Digest and NTLM authentication using GnuTLS.

View File

@ -31,6 +31,7 @@ This release includes the following bugfixes:
o multi interface memory leak with CURLMOPT_MAXCONNECTS set o multi interface memory leak with CURLMOPT_MAXCONNECTS set
o CURLINFO_CONTENT_LENGTH_DOWNLOAD size from file:// "transfers" with o CURLINFO_CONTENT_LENGTH_DOWNLOAD size from file:// "transfers" with
CURLOPT_NOBODY set true CURLOPT_NOBODY set true
o memory leak on some libz errors for content encodings
This release includes the following known bugs: This release includes the following known bugs:
@ -41,6 +42,6 @@ advice from friends like these:
Lisa Xu, Daniel Fandrich, Craig A West, Alexey Borzov, Sharad Gupta, Lisa Xu, Daniel Fandrich, Craig A West, Alexey Borzov, Sharad Gupta,
Peter Sylvester, Chad Monroe, Markus Moeller, Yang Tse, Scott Cantor, Peter Sylvester, Chad Monroe, Markus Moeller, Yang Tse, Scott Cantor,
Patrick Scott, Hidemoto Nakada, Jocelyn Jaubert Patrick Scott, Hidemoto Nakada, Jocelyn Jaubert, Andre Guibert de Bruet
Thanks! (and sorry if I forgot to mention someone) Thanks! (and sorry if I forgot to mention someone)

View File

@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___ * | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____| * \___|\___/|_| \_\_____|
* *
* Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al. * Copyright (C) 1998 - 2007, 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
* *
* This software is licensed as described in the file COPYING, which * This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms * you should have received as part of this distribution. The terms
@ -133,8 +133,9 @@ inflate_stream(struct connectdata *conn,
/* some servers seem to not generate zlib headers, so this is an attempt /* some servers seem to not generate zlib headers, so this is an attempt
to fix and continue anyway */ to fix and continue anyway */
(void) inflateEnd(z); /* don't care about the return code */ (void) inflateEnd(z); /* don't care about the return code */
if(inflateInit2(z, -MAX_WBITS) != Z_OK) { if(inflateInit2(z, -MAX_WBITS) != Z_OK) {
free(decomp);
return process_zlib_error(conn, z); return process_zlib_error(conn, z);
} }
z->next_in = orig_in; z->next_in = orig_in;