Open emmercm opened 1 week ago
Hi there,
I was looking into it as I faced the same issue. Debugging my way through, I discovered that the problem lies with the extra field of Zip64. The current logic expects all fields to always be present in the Zip64 entry (which is not necessarily the case). I changed the logic to check which values should be present based on the values in the Zip64 central directory.
@ZJONSSON you may have a look here https://github.com/ZJONSSON/node-unzipper/pull/327 - thank you.
When parsing a large zip file with:
if a file's
offsetToLocalFileHeader
is greater than the 32-bit integer max value of 4,294,967,296, its value will end up beingnull
and not a number:which will throw an
ERR_INVALID_ARG_TYPE
exception when trying to get a stream to the file:System info:
Here's an example zip file, this problem happens with central directory entries 19-28: