]> git.lizzy.rs Git - zlib.git/commitdiff
Fix memory leak on error in gzlog.c.
authorMark Adler <madler@alumni.caltech.edu>
Sun, 26 May 2019 05:23:20 +0000 (22:23 -0700)
committerMark Adler <madler@alumni.caltech.edu>
Sun, 26 May 2019 05:23:20 +0000 (22:23 -0700)
Thank you Adam Richter.

examples/gzlog.c

index b8c29274e8b9ece39fed6f6614ff0c2c9243986f..b977802dd6e4e7dfd033dd15ab5f9ce3e4f0457c 100644 (file)
@@ -1,8 +1,8 @@
 /*
  * gzlog.c
- * Copyright (C) 2004, 2008, 2012, 2016 Mark Adler, all rights reserved
+ * Copyright (C) 2004, 2008, 2012, 2016, 2019 Mark Adler, all rights reserved
  * For conditions of distribution and use, see copyright notice in gzlog.h
- * version 2.2, 14 Aug 2012
+ * version 2.3, 25 May 2019
  */
 
 /*
@@ -756,12 +756,14 @@ local int log_recover(struct log *log, int op)
                 return -2;
             }
             if ((fd = open(log->path, O_RDONLY, 0)) < 0) {
+                free(data);
                 log_log(log, op, ".add file read failure");
                 return -1;
             }
             ret = (size_t)read(fd, data, len) != len;
             close(fd);
             if (ret) {
+                free(data);
                 log_log(log, op, ".add file read failure");
                 return -1;
             }