From 0ac26cc98b364cd5450f956f66a8f72fa1467550 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sun, 14 Jan 2018 01:46:14 +0100 Subject: [PATCH] Fixed implementation of huffman_decode_fuzzer. --- Magick++/fuzz/huffman_decode_fuzzer.cc | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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; } -- 2.40.0