-
Notifications
You must be signed in to change notification settings - Fork 233
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
quazip fails to unzip zip64 archive with extra leading data (e.g. self-extractor) #14
Comments
PRs are always welcome, provided they maintain backwards API and ABI compatibility. Since the routine you mention is purely an implementation detail, it should be fine. |
Hi, |
There was no PR, as of the moment. |
Ok. Could you please provide some more information on what you fixed locally? Is your issue also similar to this? #117 Thanks |
This appears to be similar to #117. At least this failure would return error -103. I ended up not actually needing to fix this issue and since the unit tests seemed like they would take a long time to run since they needed to create several 4GB archives I decided not to pursue submitting a PR. Here is my local change
|
Hello, I do not know what else to do here. Thanks |
No ideas at the moment, and I'm a bit busy currently to look into it deeper. I don't expect to have enough free time for this until at least August. Sad, but true... |
ok - thanks for helping anyways. |
quazip will correctly unzip a normal (32-bit) zip archive even if the self-extractor is pre-pended. However if the archive is large are requires ZIP64 extensions then the extraction will fail. The search for ZIP64 end of central directory fails if the correct signature is not found pointed to by the ECL record, for non-ZIP64 archives the analogous routine will actually search backward for the central directory.
The Info-Zip version of unzip will make a guess that the ZIP64 End of Central directory is exactly 56 bytes before the locator record if the lookup using the explicit offset fails. I have implemented a similar solution for libquazip for use in my application. It seems to work well for me. I will issue a pull request for this change if you wish.
The issue is that unz64local_SearchCentralDir64 does not have any other options on line 574 if the signature check fails.
The text was updated successfully, but these errors were encountered: