-
Notifications
You must be signed in to change notification settings - Fork 141
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
Infinite loop when decoding some files on miniz_oxide branch #217
Comments
I've added dbg! around the update call to see what it returns, here it is:
This just repeats over and over. |
This does not seem to be fully fixed (or regressed at some point?). Here's an input file that shows the same behaviour: $ echo "iVBORw0KGgr/6wDLSURBVEiJS1cBAAAK9bEsRUxM" | base64 -d > input.bin
$ cargo fuzz run decode input.bin -- -timeout=1
[...]
[image-png/src/decoder/mod.rs:307] self.decoder.update(buf, image_data) = Ok(
(
0,
ImageData,
),
)
[...]
SUMMARY: libFuzzer: timeout |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Decoding some deliberately crafted files on miniz_oxide branch causes an infinite loop. The issue has been found via cargo-fuzz.
Files triggering the issue: miniz-oxide-hangs.tar.gz They do not contain valid checksums, make sure you disable checksum verification by passing
--cfg=fuzzing
to rustc.This seems to be the only issue blocking the merge of miniz_oxide branch into master, which would bring up to 3x performance improvement.
The text was updated successfully, but these errors were encountered: