Skip to content
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

Fix panics on malformed inputs, support fuzzing #81

Merged
merged 12 commits into from
Aug 13, 2018

Commits on Jun 21, 2018

  1. Fuzzing support: do not check crc32 or adler32 checksums in fuzzing m…

    …ode using conditional compilation. Enables fuzzers to actually reach PNG decoding code instead of never going beyond checksums
    Shnatsel committed Jun 21, 2018
    Configuration menu
    Copy the full SHA
    1a5c786 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d61929f View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2018

  1. Return Result from expand_paletted() instead of calling unwrap().…

    … Fixes panic on malformed input (image-rs#79)
    Shnatsel committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    4e44045 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a5faaf2 View commit details
    Browse the repository at this point in the history
  3. When decoding interlaced files use info from current chunk instead of…

    … the previous one. Fixes panic on malformed files (image-rs#79) and also likely fixes decoding of some exotic PNGs out there. Found via afl.rs
    Shnatsel committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    e221ae9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    affd27e View commit details
    Browse the repository at this point in the history
  5. Completely rewrite AFL integration using modern AFL.rs; boosts fuzzin…

    …g speed ~10x, among other things.
    Shnatsel committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    4da73cd View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5c60ae1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    724ae3c View commit details
    Browse the repository at this point in the history
  8. Drop cargo-fuzz intergration; this crate already has afl in-tree whic…

    …h does pretty much the same thing a bit better. Integration with other fuzzers will be done via a generic harness in https://github.com/rust-fuzz/targets
    Shnatsel committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    1654228 View commit details
    Browse the repository at this point in the history
  9. Commit fuzzing seeds to afl folder. These were aggregated from fuzzin…

    …g a bunch of tools (libpng, lodepng-rust), then used for fuzzing image-png with afl, and the resulting corpus minified with afl-cmin. As such they provide good starting coverage for afl and can serve as seeds for more computationally expensive tools.
    Shnatsel committed Jun 27, 2018
    Configuration menu
    Copy the full SHA
    b6734c7 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2018

  1. Validate that paletted images have bit depth of 8 or less. Fixes debu…

    …g mode panic on overflow in left shift (image-rs#79)
    Shnatsel committed Jul 1, 2018
    Configuration menu
    Copy the full SHA
    645c5a2 View commit details
    Browse the repository at this point in the history