diff options
| -rw-r--r-- | contrib/minizip/mztools.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/contrib/minizip/mztools.c b/contrib/minizip/mztools.c index 6260cb0e..1e2bb568 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* | |||
| 35 | FILE* fpZip = fopen(file, "rb"); | 35 | FILE* fpZip = fopen(file, "rb"); |
| 36 | FILE* fpOut = fopen(fileOut, "wb"); | 36 | FILE* fpOut = fopen(fileOut, "wb"); |
| 37 | FILE* fpOutCD = fopen(fileOutTmp, "wb"); | 37 | FILE* fpOutCD = fopen(fileOutTmp, "wb"); |
| 38 | if (fpZip != NULL && fpOut != NULL) { | 38 | if (fpZip != NULL && fpOut != NULL && fpOutCD != NULL ) { |
| 39 | int entries = 0; | 39 | int entries = 0; |
| 40 | uLong totalBytes = 0; | 40 | uLong totalBytes = 0; |
| 41 | char header[30]; | 41 | char header[30]; |
| @@ -282,6 +282,12 @@ extern int ZEXPORT unzRepair(const char* file, const char* fileOut, const char* | |||
| 282 | } | 282 | } |
| 283 | } | 283 | } |
| 284 | } else { | 284 | } else { |
| 285 | if (fpOutCD != NULL) | ||
| 286 | fclose(fpOutCD); | ||
| 287 | if (fpZip != NULL) | ||
| 288 | fclose(fpZip); | ||
| 289 | if (fpOut != NULL) | ||
| 290 | fclose(fpOut); | ||
| 285 | err = Z_STREAM_ERROR; | 291 | err = Z_STREAM_ERROR; |
| 286 | } | 292 | } |
| 287 | return err; | 293 | return err; |
