RFR: 8313765: Invalid CEN header (invalid zip64 extra data field size) [v6]
Lance Andersen
lancea at openjdk.org
Tue Aug 15 15:34:12 UTC 2023
On Tue, 15 Aug 2023 00:07:01 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:
> [TEST.zip](https://github.com/openjdk/jdk/files/12340301/TEST.zip)
>
> try this example, zip -T passed, unzip works fine, but openjdk rejects it.
Yes, the Zip64 header in the CEN has a field size of 2 and as we are validating the Zip64 header size, you get the ZipException:
`Invalid CEN header (invalid zip64 extra data field size)
`
> ----------------#1--------------------
> [Central Directory Header]
> 0x369: Signature : 0x02014b50
> 0x36d: Created Zip Spec : 0x2d [4.5]
> 0x36e: Created OS : 0x3 [UNIX]
> 0x36f: VerMadeby : 0x32d [3, 4.5]
> 0x370: VerExtract : 0x2d [4.5]
> 0x371: Flag : 0x800
> 0x373: Method : 0x8 [DEFLATED]
> 0x375: Last Mod Time : 0x5703021b [Thu Aug 03 00:16:54 EDT 2023]
> 0x379: CRC : 0x279590b5
> 0x37d: Compressed Size : 0xa
> 0x381: Uncompressed Size: 0xb
> 0x385: Name Length : 0x5
> 0x387: Extra Length : 0x6
> Extra data:[01, 00, 02, 00, 00, 00]
> [tag=0x0001, sz=2]
> ->ZIP64:
> [data= 00 00 ]
> 0x389: Comment Length : 0x0
> 0x38b: Disk Start : 0x0
> 0x38d: Attrs : 0x0
> 0x38f: AttrsEx : 0x81a40000
> 0x393: Loc Header Offset: 0x0
> 0x397: File Name : b.txt
>
> [Local File Header]
> 0x0: Signature : 0x04034b50
> 0x4: Version : 0x2d [4.5]
> 0x6: Flag : 0x800
> 0x8: Method : 0x8 [DEFLATED]
> 0xa: LastMTime : 0x5703021b [Thu Aug 03 00:16:54 EDT 2023]
> 0xe: CRC : 0x279590b5
> 0x12: CSize : 0xa
> 0x16: Size : 0xb
> 0x1a: Name Length : 0x5 [b.txt]
> 0x1c: ExtraLength : 0x14
> Extra data:[01, 00, 10, 00, 0b, 00, 00, 00, 00, 00, 00, 00, 0a, 00, 00, 00, 00, 00, 00, 00]
> [tag=0x0001, sz=16]
> ->ZIP64: *0xb *0xa
> [data= 0b 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 ]
> 0x1e: File Name : [b.txt]
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15273#issuecomment-1679134441
More information about the core-libs-dev
mailing list