From: Dirk Lemstra Date: Sun, 14 Jan 2018 00:46:14 +0000 (+0100) Subject: Fixed implementation of huffman_decode_fuzzer. X-Git-Tag: 7.0.7-22~84 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0ac26cc98b364cd5450f956f66a8f72fa1467550;p=imagemagick Fixed implementation of huffman_decode_fuzzer. --- diff --git a/Magick++/fuzz/huffman_decode_fuzzer.cc b/Magick++/fuzz/huffman_decode_fuzzer.cc index bf2d9e854..c4598f2a9 100644 --- a/Magick++/fuzz/huffman_decode_fuzzer.cc +++ b/Magick++/fuzz/huffman_decode_fuzzer.cc @@ -1,19 +1,21 @@ #include -#include #include #include "utils.cc" +namespace MagickCore +{ + extern "C" void AttachBlob(BlobInfo *,const void *,const size_t); +} + extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { - const Magick::Blob blob(Data, Size); Magick::Image image; - try { - image.read(blob); - } catch (Magick::Exception &e) { - return 0; - } - Magick::ExceptionInfo ex; - auto res = HuffmanDecodeImage(image.image(), &ex); + MagickCore::AttachBlob(image.image()->blob,(const void *) Data,Size); + + Magick::ExceptionInfo *exceptionInfo; + exceptionInfo=MagickCore::AcquireExceptionInfo(); + (void) HuffmanDecodeImage(image.image(), exceptionInfo); + (void) MagickCore::DestroyExceptionInfo(exceptionInfo); return 0; }