diff --git a/fuzzers/libfuzzer_libpng/harness.cc b/fuzzers/libfuzzer_libpng/harness.cc index f8d9f40124..a615f70a43 100644 --- a/fuzzers/libfuzzer_libpng/harness.cc +++ b/fuzzers/libfuzzer_libpng/harness.cc @@ -154,12 +154,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { return 0; } +#ifdef HAS_BUG // This is going to be too slow. if (width && height > 100000000 / width) { PNG_CLEANUP asm("ud2"); return 0; } +#endif // Set several transforms that browsers typically use: png_set_gray_to_rgb(png_handler.png_ptr); diff --git a/fuzzers/libfuzzer_libpng/src/mod.rs b/fuzzers/libfuzzer_libpng/src/mod.rs index 7ac87f3a20..8c16224fec 100644 --- a/fuzzers/libfuzzer_libpng/src/mod.rs +++ b/fuzzers/libfuzzer_libpng/src/mod.rs @@ -7,18 +7,15 @@ use std::{env, path::PathBuf, process::Command}; use afl::{ corpus::{Corpus, InMemoryCorpus}, engines::{Engine, Fuzzer, State, StdFuzzer}, - events::{ - llmp::LlmpReceiver, - llmp::LlmpSender, - shmem::{AflShmem, ShMem}, - EventManager, LlmpEventManager, SimpleStats, - }, + events::{EventManager, LlmpEventManager, SimpleStats}, executors::{inmemory::InMemoryExecutor, Executor, ExitKind}, feedbacks::MaxMapFeedback, generators::RandPrintablesGenerator, inputs::BytesInput, + llmp::{LlmpReceiver, LlmpSender}, mutators::{scheduled::HavocBytesMutator, HasMaxSize}, observers::StdMapObserver, + shmem::{AflShmem, ShMem}, stages::mutational::StdMutationalStage, tuples::tuple_list, utils::{deserialize_state_corpus_mgr, serialize_state_corpus_mgr, StdRand},