From a371b518e3f276bf4dc525b66b09c9276e1b694d Mon Sep 17 00:00:00 2001 From: Lukasz Marek Date: Fri, 1 Feb 2013 17:09:44 +0100 Subject: [PATCH] minizip prevent issues fixes [Issue#] N/A [Problem] Prevent issued some core in minizip module [Cause] N/A [Solution] Fixed Change-Id: I2f1b01ba750a0d0f3ece0208c7919e71fc3d9273 --- 3rdparty/minizip/ioapi.c | 6 +++++- 3rdparty/minizip/minizip.c | 2 +- 3rdparty/minizip/mztools.c | 2 +- 3rdparty/minizip/unzip.c | 5 +++-- 3rdparty/minizip/unzip11.zip | Bin 51431 -> 0 bytes 3rdparty/minizip/zip.c | 1 + 6 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 3rdparty/minizip/unzip11.zip diff --git a/3rdparty/minizip/ioapi.c b/3rdparty/minizip/ioapi.c index 49958f6..41ab314 100644 --- a/3rdparty/minizip/ioapi.c +++ b/3rdparty/minizip/ioapi.c @@ -22,6 +22,8 @@ voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode); else { + if (pfilefunc->zopen32_file == NULL) + return NULL; return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); } } @@ -33,7 +35,7 @@ long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZP else { uLong offsetTruncated = (uLong)offset; - if (offsetTruncated != offset) + if (offsetTruncated != offset || pfilefunc->zseek32_file == NULL) return -1; else return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin); @@ -46,6 +48,8 @@ ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream); else { + if (pfilefunc->ztell32_file == NULL) + return (ZPOS64_T)-1; uLong tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream); if ((tell_uLong) == ((uLong)-1)) return (ZPOS64_T)-1; diff --git a/3rdparty/minizip/minizip.c b/3rdparty/minizip/minizip.c index 7a4fa5a..a0a327b 100644 --- a/3rdparty/minizip/minizip.c +++ b/3rdparty/minizip/minizip.c @@ -382,7 +382,7 @@ int main(argc,argv) ((argv[i][1]>='0') || (argv[i][1]<='9'))) && (strlen(argv[i]) == 2))) { - FILE * fin; + FILE * fin = NULL; int size_read; const char* filenameinzip = argv[i]; const char *savefilenameinzip; diff --git a/3rdparty/minizip/mztools.c b/3rdparty/minizip/mztools.c index f9092e6..edf6b7f 100644 --- a/3rdparty/minizip/mztools.c +++ b/3rdparty/minizip/mztools.c @@ -41,7 +41,7 @@ uLong* bytesRecovered; if (fpZip != NULL && fpOut != NULL) { int entries = 0; uLong totalBytes = 0; - char header[30]; + char header[30] = {0,}; char filename[256]; char extra[1024]; int offset = 0; diff --git a/3rdparty/minizip/unzip.c b/3rdparty/minizip/unzip.c index 7617f41..27ce758 100644 --- a/3rdparty/minizip/unzip.c +++ b/3rdparty/minizip/unzip.c @@ -585,8 +585,8 @@ local unzFile unzOpenInternal (const void *path, zlib_filefunc64_32_def* pzlib_filefunc64_32_def, int is64bitOpenFunction) { - unz64_s us; - unz64_s *s; + unz64_s us = {0, }; + unz64_s *s = NULL; ZPOS64_T central_pos; uLong uL; @@ -782,6 +782,7 @@ extern unzFile ZEXPORT unzOpen2_64 (const void *path, { zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; + zlib_filefunc64_32_def_fill.zopen32_file = NULL; zlib_filefunc64_32_def_fill.ztell32_file = NULL; zlib_filefunc64_32_def_fill.zseek32_file = NULL; return unzOpenInternal(path, &zlib_filefunc64_32_def_fill, 1); diff --git a/3rdparty/minizip/unzip11.zip b/3rdparty/minizip/unzip11.zip deleted file mode 100644 index fe55dc355c08fdf14ce9c9cd89fdc32927130889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51431 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 diff --git a/3rdparty/minizip/zip.c b/3rdparty/minizip/zip.c index 3c34fc8..96b2ba3 100644 --- a/3rdparty/minizip/zip.c +++ b/3rdparty/minizip/zip.c @@ -935,6 +935,7 @@ extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append, zipcharpc* { zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; + zlib_filefunc64_32_def_fill.zopen32_file = NULL; zlib_filefunc64_32_def_fill.ztell32_file = NULL; zlib_filefunc64_32_def_fill.zseek32_file = NULL; return zipOpen3(pathname, append, globalcomment, &zlib_filefunc64_32_def_fill); -- 2.7.4