diff -c old\ioapi.c new\ioapi.c *** old\ioapi.c Sun Jul 18 18:04:24 2010 --- new\ioapi.c Mon Sep 26 17:31:46 2011 *************** *** 10,20 **** */ ! #if (defined(_WIN32)) #define _CRT_SECURE_NO_WARNINGS #endif ! #ifdef __APPLE__ // In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions #define FOPEN_FUNC(filename, mode) fopen(filename, mode) #define FTELLO_FUNC(stream) ftello(stream) --- 10,20 ---- */ ! #if defined(_WIN32) && (!(defined(_CRT_SECURE_NO_WARNINGS))) #define _CRT_SECURE_NO_WARNINGS #endif ! #if defined(__APPLE__) || defined(IOAPI_NO_64) // In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions #define FOPEN_FUNC(filename, mode) fopen(filename, mode) #define FTELLO_FUNC(stream) ftello(stream) diff -c old\mztools.c new\mztools.c *** old\mztools.c Sat Jan 02 06:46:22 2010 --- new\mztools.c Tue Dec 21 14:06:27 2010 *************** *** 42,48 **** int entries = 0; uLong totalBytes = 0; char header[30]; ! char filename[256]; char extra[1024]; int offset = 0; int offsetCD = 0; --- 42,48 ---- int entries = 0; uLong totalBytes = 0; char header[30]; ! char filename[1024]; char extra[1024]; int offset = 0; int offsetCD = 0; *************** *** 73,81 **** /* Filename */ if (fnsize > 0) { ! if (fread(filename, 1, fnsize, fpZip) == fnsize) { ! if (fwrite(filename, 1, fnsize, fpOut) == fnsize) { ! offset += fnsize; } else { err = Z_ERRNO; break; --- 73,86 ---- /* Filename */ if (fnsize > 0) { ! if (fnsize < sizeof(filename)) { ! if (fread(filename, 1, fnsize, fpZip) == fnsize) { ! if (fwrite(filename, 1, fnsize, fpOut) == fnsize) { ! offset += fnsize; ! } else { ! err = Z_ERRNO; ! break; ! } } else { err = Z_ERRNO; break; *************** *** 91,99 **** /* Extra field */ if (extsize > 0) { ! if (fread(extra, 1, extsize, fpZip) == extsize) { ! if (fwrite(extra, 1, extsize, fpOut) == extsize) { ! offset += extsize; } else { err = Z_ERRNO; break; --- 96,109 ---- /* Extra field */ if (extsize > 0) { ! if (extsize < sizeof(extra)) { ! if (fread(extra, 1, extsize, fpZip) == extsize) { ! if (fwrite(extra, 1, extsize, fpOut) == extsize) { ! offset += extsize; ! } else { ! err = Z_ERRNO; ! break; ! } } else { err = Z_ERRNO; break; diff -c old\mztools.h new\mztools.h *** old\mztools.h Wed Jul 13 12:08:40 2005 --- new\mztools.h Wed Jan 12 02:45:17 2011 *************** *** 27,31 **** --- 27,37 ---- const char* fileOutTmp, uLong* nRecovered, uLong* bytesRecovered); + + + #ifdef __cplusplus + } + #endif + #endif diff -c old\unzip.c new\unzip.c *** old\unzip.c Fri Apr 23 15:51:38 2010 --- new\unzip.c Sat Jan 21 10:46:46 2012 *************** *** 1696,1702 **** return UNZ_PARAMERROR; ! if ((pfile_in_zip_read_info->read_buffer == NULL)) return UNZ_END_OF_LIST_OF_FILE; if (len==0) return 0; --- 1696,1702 ---- return UNZ_PARAMERROR; ! if (pfile_in_zip_read_info->read_buffer == NULL) return UNZ_END_OF_LIST_OF_FILE; if (len==0) return 0; diff -c old\zip.c new\zip.c *** old\zip.c Mon Feb 15 12:59:40 2010 --- new\zip.c Sun Oct 17 23:06:40 2010 *************** *** 1067,1072 **** --- 1067,1073 ---- int err = ZIP_OK; # ifdef NOCRYPT + (crcForCrypting); if (password != NULL) return ZIP_PARAMERROR; # endif