mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-02-04 05:36:12 +00:00
Non-false-positive data errors on isCAB extraction #12
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @HeroponRikiBestest on GitHub (Oct 31, 2025).
It's been a while, but if I remember correctly, the comment at
eae75c5943/SabreTools.Serialization/Wrappers/InstallShieldCabinet.Extraction.cs (L342)about "// If we didn't get a positive result that's not a data error (false positives)" ignores zlib data errors due to the issues they were causing. For tombraideranniversary_1.0_d2d.zip, extracting the installshield cabinets inside results in a data error when extracting bigfile.017 from the installshield cabinets, and it's genuine, as it results in a hash mismatch that unshield doesn't have about halfway through the file, rendering the back half incorrect. The incorrect block wounds up being written after the byte at offset 79429631 in bigfile.017. It happens in the loop where totalWritten is 79495168 and writeBytesLeft is 77658112.I know that there's minimal desire to have to dive back into this, which I understand; I'm only opening an issue because I noticed the problem, will forget in the future, and figure it's good to have a documented real issue for if the future comes.
@HeroponRikiBestest commented on GitHub (Nov 15, 2025):
Seems to be fixed as of
425d13a2ac