* Use a static initializer to set the memory limit so it only happens once per process
* oops
#include <Magick++/Blob.h>
#include <Magick++/Image.h>
+#include "utils.cc"
+
+static FuzzingResourceLimits kFuzzLimits;
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
uint16_t Width;
uint16_t Height;
#include <Magick++/Blob.h>
#include <Magick++/Image.h>
+#include "utils.cc"
+
+static FuzzingResourceLimits kFuzzLimits;
+
#define FUZZ_ENCODER_STRING_LITERAL(name) #name
#define FUZZ_ENCODER FUZZ_ENCODER_STRING_LITERAL(FUZZ_IMAGEMAGICK_ENCODER)
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
- Magick::ResourceLimits::memory(1500000000);
const Magick::Blob blob(Data, Size);
Magick::Image image;
try {
#include <Magick++/Blob.h>
#include <Magick++/Image.h>
+#include "utils.cc"
+
+static FuzzingResourceLimits kFuzzLimits;
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
- Magick::ResourceLimits::memory(1500000000);
const Magick::Blob blob(Data, Size);
Magick::Image image;
try {
#include <Magick++/Blob.h>
#include <Magick++/Image.h>
+#include "utils.cc"
+
+static FuzzingResourceLimits kFuzzLimits;
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
- Magick::ResourceLimits::memory(1500000000);
const Magick::Blob blob(Data, Size);
Magick::Image image;
try {
#include <Magick++/Blob.h>
#include <Magick++/Image.h>
+#include "utils.cc"
+
+static FuzzingResourceLimits kFuzzLimits;
+
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
if (Size < sizeof(double)) {
return 0;
if (!isfinite(Degrees)) {
return 0;
}
- Magick::ResourceLimits::memory(1500000000);
const Magick::Blob blob(Data + sizeof(Degrees), Size - sizeof(Degrees));
Magick::Image image;
try {
--- /dev/null
+#include <Magick++/ResourceLimits.h>
+
+
+class FuzzingResourceLimits {
+ FuzzingResourceLimits() {
+ Magick::ResourceLimits::memory(1500000000);
+ }
+};