Commit 3fd14df for zlib
commit 3fd14dfc932c67b2cf6c469fdafe78be7af757c0
Author: Alden Markowski <amark.devel@gmail.com>
Date: Tue Aug 4 02:23:32 2026 -0400
Fix memory leak in minizip's zipOpen3().
Thanks to tgilyova for the report.
diff --git a/contrib/minizip/zip.c b/contrib/minizip/zip.c
index 5877dea..3676606 100644
--- a/contrib/minizip/zip.c
+++ b/contrib/minizip/zip.c
@@ -1012,6 +1012,11 @@ local int LoadCentralDirectoryRecord(zip64_internal* pziinit) {
if (ZSEEK64(pziinit->z_filefunc, pziinit->filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET) != 0)
err=ZIP_ERRNO;
+ if (err != ZIP_OK)
+ {
+ ZCLOSE64(pziinit->z_filefunc, pziinit->filestream);
+ }
+
return err;
}
@@ -1080,6 +1085,7 @@ extern zipFile ZEXPORT zipOpen3(const void *pathname, int append, zipcharpc* glo
{
# ifndef NO_ADDFILEINEXISTINGZIP
free(ziinit.globalcomment);
+ free_linkedlist(&(ziinit.central_dir));
# endif /* !NO_ADDFILEINEXISTINGZIP*/
free(zi);
return NULL;