@@ -63,9 +63,9 @@ typedef struct FileHeader {
6363 unsigned short mCompression ; // 2 Compression method
6464 unsigned short mLastModTime ; // 2 File last modification time
6565 unsigned short mLastModDate ; // 2 File last modification date
66- unsigned long mCrc32 ; // 4 CRC-32
67- unsigned long mCompressedSize ; // 4 Compressed size
68- unsigned long mUncompressedSize ; // 4 Uncompressed size
66+ unsigned long mCrc32 ; // 4 CRC-32 (*not* to be trusted - Android)
67+ unsigned long mCompressedSize ; // 4 Compressed size (*not* to be trusted - Android)
68+ unsigned long mUncompressedSize ; // 4 Uncompressed size (*not* to be trusted - Android)
6969 unsigned short mNameLength ; // 2 File name length
7070 unsigned short mExtraFieldLength ; // 2 Extra field length
7171
@@ -160,9 +160,9 @@ static int read_file_header ( FILE* file, FileHeader* header ) {
160160 fread ( & header -> mCompression , 2 , 1 , file );
161161 fread ( & header -> mLastModTime , 2 , 1 , file );
162162 fread ( & header -> mLastModDate , 2 , 1 , file );
163- fread ( & header -> mCrc32 , 4 , 1 , file );
164- fread ( & header -> mCompressedSize , 4 , 1 , file );
165- fread ( & header -> mUncompressedSize , 4 , 1 , file );
163+ fread ( & header -> mCrc32 , 4 , 1 , file ); // *not* to be trusted (Android)
164+ fread ( & header -> mCompressedSize , 4 , 1 , file ); // *not* to be trusted (Android)
165+ fread ( & header -> mUncompressedSize , 4 , 1 , file ); // *not* to be trusted (Android)
166166 fread ( & header -> mNameLength , 2 , 1 , file );
167167 fread ( & header -> mExtraFieldLength , 2 , 1 , file );
168168
@@ -697,9 +697,6 @@ ZIPFSZipStream* ZIPFSZipStream_Open ( ZIPFSZipFile* archive, const char* entryna
697697 // read local header
698698 result = read_file_header ( file , & fileHeader );
699699 if ( result ) goto error ;
700-
701- // sanity check
702- if ( fileHeader .mCrc32 != entry -> mCrc32 ) goto error ;
703700
704701 // skip the extra field, etc.
705702 result = fseek ( file , fileHeader .mNameLength + fileHeader .mExtraFieldLength , SEEK_CUR );
0 commit comments