Commit af0aa9b for zlib
commit af0aa9b66a2d123a1ca26d9bfe138695012b045b
Author: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
Date: Sun Jun 9 10:51:17 2024 +0200
Catch a file open error in contrib/minizip/mztools.c.
And close those successfully opened.
diff --git a/contrib/minizip/mztools.c b/contrib/minizip/mztools.c
index 6260cb0..1e2bb56 100644
--- a/contrib/minizip/mztools.c
+++ b/contrib/minizip/mztools.c
@@ -35,7 +35,7 @@ extern int ZEXPORT unzRepair(const char* file, const char* fileOut, const char*
FILE* fpZip = fopen(file, "rb");
FILE* fpOut = fopen(fileOut, "wb");
FILE* fpOutCD = fopen(fileOutTmp, "wb");
- if (fpZip != NULL && fpOut != NULL) {
+ if (fpZip != NULL && fpOut != NULL && fpOutCD != NULL ) {
int entries = 0;
uLong totalBytes = 0;
char header[30];
@@ -282,6 +282,12 @@ extern int ZEXPORT unzRepair(const char* file, const char* fileOut, const char*
}
}
} else {
+ if (fpOutCD != NULL)
+ fclose(fpOutCD);
+ if (fpZip != NULL)
+ fclose(fpZip);
+ if (fpOut != NULL)
+ fclose(fpOut);
err = Z_STREAM_ERROR;
}
return err;