-
Notifications
You must be signed in to change notification settings - Fork 5
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
First instruction has special handling when high nibble is set #4
Comments
Can you share an example file to reproduce the issue? |
I believe I'm running into this issue as well. I have the following compressed data which I'm trying to decompress:
Looking at
In my case the first byte of the block is 99, so 99 - 17 = 82 bytes of input data should be copied to the output. (There's similar blocks in a couple of the other LZO source files also, but I don't really know what each of the various files represents.) I forked this repo to try and implement a fix myself, but I'm not familiar enough to do it cleanly. I'd be happy to help out if you can give me some pointers though. Attaching example files (same as above data) for reference. |
Opened PR #5 which handles my specific data, though it isn't complete. Hopefully this serves as a decent example. |
On start of LzoStream decoding first instruction should be analyzed in addition.
If instruction > 17 then literal length is calculated as instruction - 17, a match should not be copied, since a ring buffer is empty.
I found this issue trying to decompress .lzo file compressed by lzop with LZO1X_999 method.
The text was updated successfully, but these errors were encountered: