weichsel / ZIPFoundation

Effortless ZIP Handling in Swift
MIT License
2.31k stars 255 forks source link

Fix issue when ZIP64 extra field has different size than expected fro… #308

Open robertlechowicz opened 7 months ago

robertlechowicz commented 7 months ago

…m Central directory file header

I encountered a Zip files where Central Directory header, in field diskNumberStart has value 0x0000 when it should have 0xffff for ZIP64 extension. In this situation ZIPFoundation expect that ZIP64 Extra field will not have information about diskNumberStart and wrongly estimate the size.

Changes proposed in this PR

Checking the size of ZIP64 extra field from dataSize (data.scanValue(start: 2)), not from fields in CD header which have 0xffff