summaryrefslogtreecommitdiff
path: root/source/fitz/unzip.c
diff options
context:
space:
mode:
authorSimon Bünzli <zeniko@gmail.com>2014-12-12 15:39:32 +0100
committerSimon Bünzli <zeniko@gmail.com>2014-12-12 15:39:32 +0100
commit6b5582e8206f2cdd3afeb4e32ebbe5d144334da7 (patch)
treeecbfbced1b6dca541677f341ebffa59af7129044 /source/fitz/unzip.c
parentd7c0c0856b31be17823ae4745b2c542a9c71765f (diff)
downloadmupdf-6b5582e8206f2cdd3afeb4e32ebbe5d144334da7.tar.xz
fix memory leaks
Commit 5add23c7233c3f34fdfa6387873b1d3bdb93e1d6 and commit 2f4cdd4fd0580e3121773e89a7c6e7a9e1ffa54b introduced three memory leaks which only appear in error cases: * unzip.c leaks if a ZIP archive uses a compression method other than store or Deflate * xps-zip.c leaks if fz_open_archive_with_stream throws for broken ZIP archives * xps-zip.c leaks also if a piece of a split file is missing
Diffstat (limited to 'source/fitz/unzip.c')
-rw-r--r--source/fitz/unzip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/fitz/unzip.c b/source/fitz/unzip.c
index 73905e81..f13a9ace 100644
--- a/source/fitz/unzip.c
+++ b/source/fitz/unzip.c
@@ -372,6 +372,7 @@ static fz_buffer *read_zip_entry(fz_context *ctx, fz_archive *zip, struct zip_en
return ubuf;
}
+ fz_drop_buffer(ctx, ubuf);
fz_throw(ctx, FZ_ERROR_GENERIC, "unknown zip method: %d", method);
}