static int fuzzEncoderWithStringFilename(const std::string encoder, const uint8_t *Data, size_t Size, bool (*validate)(const std::string &) = NULL)
{
// Allow a bit extra to make sure we do proper bounds checking in Magick++
if (Size > MagickPathExtent)
return 0;
std::string fileName(reinterpret_cast<const char*>(Data), Size);
// Can be used to deny specific file names
if ((validate != NULL) && (validate(fileName) == false))
return 0;
Magick::Image image;
try {
image.read(encoder + ":" + fileName);
}
catch (Magick::Exception &e) {
}
return 0;
}