#include <cstdint> #include <Magick++/Blob.h> #include <Magick++/Image.h> #include "utils.cc" extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { uint16_t Width; uint16_t Height; if (Size < (sizeof(Width) + sizeof(Height))) { return 0; } Width = *reinterpret_cast<const uint16_t *>(Data); Height = *reinterpret_cast<const uint16_t *>(Data + sizeof(Width)); const Magick::Blob blob(Data + sizeof(Width) + sizeof(Height), Size - (sizeof(Width) + sizeof(Height))); Magick::Image image; try { image.read(blob); image.crop(Magick::Geometry(Width, Height)); } catch (Magick::Exception &e) { return 0; } return 0; } #include "travis.cc"