-
Notifications
You must be signed in to change notification settings - Fork 18k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
archive/zip: fix the size field in the ZIP64 end-of-central-directory record #9857
Comments
Hmm, one possibility: section 4.3.14.1 of https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT says:
By my count the record's total size is 56 bytes, so the "Size of record" field should be 44 (0x2c) rather than 56 (0x38). |
Ok, opening a hex editor and changing that 0x38 to a 0x2c makes zipdetails happy, but it might be a red herring.
as does
|
|
I was able to decompress the whole zip without modification on a Linux box. I wonder if it's a Mac OS-only issue. unzip 6.00 on Linux versus 5.52 on OS X. I'll try installing a newer version on OS X and see if that's the issue. |
Ok, what all of this has taught me is: large ZIP file support in OS X is garbage, and the failure modes are unkind. The built-in archive utility doesn't support them, the version of unzip shipped with Yosemite doesn't include ZIP64 support, and the newer version that does support ZIP64 still blows up as soon as it hits 4 GB. Meanwhile, Linux works through the files happily. The only thing that might make sense is to adjust the "size of zip64 end of central directory record" to make |
After your investigation I can't tell if there is anything for us to do here. Should I go ahead and close out this issue. |
@ianlancetaylor: I think we should fix the size field in the ZIP64 end-of-central-directory record to match the spec. I'll write up a patch for that. |
On 13 February 2015 at 09:09, Joe Shaw notifications@github.com wrote:
Sounds good. Please "git codereview mail |
I have an approximately 8 GB ZIP file created using archive/zip.
zipdetails -v
on the file ends with:The zip was built using Go 1.4 or 1.4.1 on a 64-bit Linux system.
A Go reader on OS X can reread the file just fine. This is my first foray into the internals of zip, so I am not sure how or why 56 is an unsupported size.
Smaller files (in the 3.7 GB range) are opened fine by
unzip
and the built-in OS X zip support.The text was updated successfully, but these errors were encountered: