#include <cstdint>
-#include <Magick++/Blob.h>
#include <Magick++/Image.h>
#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;
}