-
Notifications
You must be signed in to change notification settings - Fork 45
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
Regression when extracting cabinets using "-F" option #22
Comments
Are you using a specific architecture? I've downloaded W2KSP4_EN.EXE and tested cabextract on both this and test/mixed.cab but can't replicate your findings with either You could also try building with debug mode enabled (e.g. On 32-bit i686:
On 64-bit x86_64:
|
You should thank your contributor Goatroth, their words are exactly what I needed to hear: " it's always produced corrupt cabs (but only when using -F)." Using -F usually means decompressing and throwing away data (skipping data) in a folder to get to the offset of the file you want to extract. Almost all other invocations extract all files in order, so never skip data. If this doesn't happen, data is extracted from the folder, but it's probably the wrong data, and there are no post-decompression checksums. A line of code was added by the 'salvage mode' patch to deliberately not do this essential step to get to the right offset, if the folder type was LZX. I called this out when first looking at code, but didn't notice it was there when accepting the patch, and didn't notice it while finding numerous other things to fix and release. There was no regression test for this use case. So, I've fixed the bug, and added a regression test. Thank your submitter for reporting this, and thanks to you for following up on it. |
Hi,
I'm the maintainer for winetricks. I had a bug report recently (Winetricks/winetricks#1120) about something failing to extract. Upon further investigation, seems to be a regression in cabextract:
Before this patch:
After this patch:
The patch also breaks the tests for me:
With 5c1b259 (parent commit), winetricks works and cabextract tests pass.
Please let me know if I can provide any further information.
The text was updated successfully, but these errors were encountered: