summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMark Adler <madler@alumni.caltech.edu>2019-05-25 22:23:20 -0700
committerMark Adler <madler@alumni.caltech.edu>2019-05-25 22:23:20 -0700
commit02064366155215162223417b939deebfe563ded0 (patch)
treed85c328da9b21793632fcdb088216a2089bb97ff /examples
parent79baebe50e4d6b73ae1f8b603f0ef41300110aa3 (diff)
downloadzlib-02064366155215162223417b939deebfe563ded0.tar.gz
Fix memory leak on error in gzlog.c.
Thank you Adam Richter.
Diffstat (limited to 'examples')
-rw-r--r--examples/gzlog.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/examples/gzlog.c b/examples/gzlog.c
index b8c2927..b977802 100644
--- a/examples/gzlog.c
+++ b/examples/gzlog.c
@@ -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;
}