From: Dirk Lemstra Date: Tue, 16 Jan 2018 21:22:42 +0000 (+0100) Subject: Use extra define to determine if the fuzzer supports writing. X-Git-Tag: 7.0.7-22~50 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64969e70769d96efc1b8d9162ca81982eba8363c;p=imagemagick Use extra define to determine if the fuzzer supports writing. --- diff --git a/Magick++/fuzz/build_fuzzers.sh b/Magick++/fuzz/build_fuzzers.sh index f30ee1500..11ab51bbe 100644 --- a/Magick++/fuzz/build_fuzzers.sh +++ b/Magick++/fuzz/build_fuzzers.sh @@ -15,8 +15,12 @@ for f in $MAGICK_SRC/*_fuzzer.cc; do "$f" -o "$MAGICK_OUTPUT/${fuzzer}_fuzzer" $MAGICK_LIBS done -for encoder in $("$MAGICK_SRC/encoder_list"); do +for item in $("$MAGICK_SRC/encoder_list"); do + encoder="${item:1}" encoder_flags="-DFUZZ_IMAGEMAGICK_ENCODER=$encoder" + if [ "${item:0:1}" == "+" ]; then + encoder_flags="$encoder_flags -DFUZZ_IMAGEMAGICK_ENCODER_WRITE=1" + fi $MAGICK_COMPILER $MAGICK_COMPILER_FLAGS -std=c++11 -I$MAGICK_INCLUDE \ "$MAGICK_SRC/encoder_fuzzer.cc" -o "$MAGICK_OUTPUT/encoder_${encoder,,}_fuzzer" \ $encoder_flags $MAGICK_LIBS diff --git a/Magick++/fuzz/encoder_fuzzer.cc b/Magick++/fuzz/encoder_fuzzer.cc index dc9b3ff18..ba5a05109 100644 --- a/Magick++/fuzz/encoder_fuzzer.cc +++ b/Magick++/fuzz/encoder_fuzzer.cc @@ -10,7 +10,6 @@ #ifndef FUZZ_ENCODER #define FUZZ_ENCODER FUZZ_ENCODER_STRING_LITERAL_X(FUZZ_IMAGEMAGICK_ENCODER) #endif -#define FUZZ_IMAGEMAGICK_ENCODER_WRITE 1 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { const Magick::Blob blob(Data, Size); diff --git a/Magick++/fuzz/encoder_list.cc b/Magick++/fuzz/encoder_list.cc index b1015e401..de58f997c 100644 --- a/Magick++/fuzz/encoder_list.cc +++ b/Magick++/fuzz/encoder_list.cc @@ -10,7 +10,6 @@ int main() { for (std::list::iterator it = coderList.begin(); it != coderList.end(); it++) { - //std::cout << ((*it).isWritable() ? "+" : "-") << (*it).name() << std::endl; - std::cout << (*it).name() << std::endl; + std::cout << ((*it).isWritable() ? "+" : "-") << (*it).name() << std::endl; } }