]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Fix memory leak in gz_uncompress().
authorMika Lindqvist <postmaster@raasu.org>
Sat, 3 Oct 2020 23:05:05 +0000 (02:05 +0300)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Fri, 9 Oct 2020 09:26:20 +0000 (11:26 +0200)
test/minigzip.c

index 64fe79edfe7462641d1581fc9c7647469fb69176..4cbb30f4b3bcb089c442629304fde07c07f49b55 100644 (file)
@@ -162,10 +162,14 @@ void gz_uncompress(gzFile in, FILE *out) {
 
     for (;;) {
         len = PREFIX(gzread)(in, buf, BUFLENW);
-        if (len < 0) error (PREFIX(gzerror)(in, &err));
+        if (len < 0) {
+            free(buf);
+            error(PREFIX(gzerror)(in, &err));
+        }
         if (len == 0) break;
 
         if ((int)fwrite(buf, 1, (unsigned)len, out) != len) {
+            free(buf);
             error("failed fwrite");
         }
     }