]> granicus.if.org Git - curl/commitdiff
- A second follow-up change by Andre Guibert de Bruet to fix a related memory
authorDaniel Stenberg <daniel@haxx.se>
Tue, 17 Feb 2009 12:14:41 +0000 (12:14 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 17 Feb 2009 12:14:41 +0000 (12:14 +0000)
  leak like that fixed on the 14th. When zlib returns failure, we need to
  cleanup properly before returning error.

CHANGES
lib/content_encoding.c

diff --git a/CHANGES b/CHANGES
index 43756b60f34106114e27a87ab28d34c01186b770..91d7c2f719bac233454507e1e82f45161e5f8699 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@
                                   Changelog
 
 Daniel Stenberg (17 Feb 2009)
+- A second follow-up change by Andre Guibert de Bruet to fix a related memory
+  leak like that fixed on the 14th. When zlib returns failure, we need to
+  cleanup properly before returning error.
+
 - CURLOPT_FTP_CREATE_MISSING_DIRS can now be set to 2 in addition to 1 for
   plain FTP connections, and it will then allow MKD to fail once and retry the
   CWD afterwards. This is especially useful if you're doing many simultanoes
index d2ad3f49fce5727c43381ff28d280732aa69d187..9163f0baba31bf59fd818668f535eb6be736a0ad 100644 (file)
@@ -136,7 +136,7 @@ inflate_stream(struct connectdata *conn,
       (void) inflateEnd(z);     /* don't care about the return code */
       if(inflateInit2(z, -MAX_WBITS) != Z_OK) {
         free(decomp);
-        return process_zlib_error(conn, z);
+        return exit_zlib(z, &k->zlib_init, process_zlib_error(conn, z));
       }
       z->next_in = orig_in;
       z->avail_in = nread;