diff --git a/modules/libjar/nsZipArchive.cpp b/modules/libjar/nsZipArchive.cpp index 764d40914fa9..9ab949c89561 100644 --- a/modules/libjar/nsZipArchive.cpp +++ b/modules/libjar/nsZipArchive.cpp @@ -715,7 +715,7 @@ nsresult nsZipArchive::BuildFileList(PRFileDesc* aFd) sig = 0; } /* while reading central directory records */ - if (sig != ENDSIG) { + if (sig != ENDSIG && sig != ENDSIG64) { return NS_ERROR_FILE_CORRUPTED; } diff --git a/modules/libjar/zipstruct.h b/modules/libjar/zipstruct.h index f4739cc1087f..2770634c5ad2 100644 --- a/modules/libjar/zipstruct.h +++ b/modules/libjar/zipstruct.h @@ -83,6 +83,7 @@ typedef struct ZipEnd_ { #define LOCALSIG 0x04034B50l #define CENTRALSIG 0x02014B50l #define ENDSIG 0x06054B50l +#define ENDSIG64 0x6064B50l /* extra fields */ #define EXTENDED_TIMESTAMP_FIELD 0x5455