]> granicus.if.org Git - imagemagick/commitdiff
Use extra define to determine if the fuzzer supports writing.
authorDirk Lemstra <dirk@git.imagemagick.org>
Tue, 16 Jan 2018 21:22:42 +0000 (22:22 +0100)
committerDirk Lemstra <dirk@git.imagemagick.org>
Tue, 16 Jan 2018 21:22:42 +0000 (22:22 +0100)
Magick++/fuzz/build_fuzzers.sh
Magick++/fuzz/encoder_fuzzer.cc
Magick++/fuzz/encoder_list.cc

index f30ee1500119b9ef8369825591e2901f5ddc7af6..11ab51bbe6a917651294582c44a90394630c7d4b 100644 (file)
@@ -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
index dc9b3ff1872c7593c33c8cf4c2ef219464ec3ed8..ba5a0510985dc40d201dd9d3a1995fe3970efaae 100644 (file)
@@ -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);
index b1015e4013547d7cca6d2e4a4c6dd138ac0aeeff..de58f997cbaac32851643f61141bc8064e88288d 100644 (file)
@@ -10,7 +10,6 @@ int main() {
 
   for (std::list<Magick::CoderInfo>::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;
   }
 }