commit | 8f7742448f4548507592560ef40054c44ddb0bf1 | [log] [tgz] |
---|---|---|
author | Leon Scroggins III <scroggo@google.com> | Fri Jan 15 11:33:23 2021 -0500 |
committer | Leon Scroggins III <scroggo@google.com> | Tue Jan 19 09:57:38 2021 -0500 |
tree | f538c89b3243eb52294647945a3d7b4da2a303a8 | |
parent | 5a5c2ce593384bec4fc6982976ec11afa18afe8f [diff] |
Use structure aware fuzzing for pngs Bug: 142252770 Bug: 169137236 Bug: 169139756 Test: this Features built into the PNG format slow down fuzzing (e.g. CRC, encoded lengths) [1]. Use structure aware fuzzing for PNG to do a better search through the input space. Add png_mutator.h (unchanged from [2] under the Apache 2.0 license). Split imagedecoder_fuzzer into two targets: one for PNGs (since the mutator converts all inputs into PNG), and one for the other formats. Move fuzz_imagedecoder.cpp and the corpus/ into the new fuzz/ directory, to keep fuzzing separate from the libjnigraphics library. Remove png_test.png from the corpus; structure aware fuzzing will do a better job of fuzzing PNGs, and the generic one should focus on other formats. [1] https://github.com/google/fuzzing/blob/master/docs/structure-aware-fuzzing.md [2] https://github.com/google/fuzzer-test-suite/blob/51356066dc70c43c9da0ad98e887684a0394860f/libpng-1.2.56/png_mutator.h#L1 Change-Id: I8aebb0d0abfa18793334f2d217b28a51d096123a