diff options
-rw-r--r-- | fuzz/dct_fuzzer.cc | 6 | ||||
-rw-r--r-- | fuzz/qpdf_fuzzer.cc | 6 | ||||
-rw-r--r-- | libqpdf/Pl_DCT.cc | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/fuzz/dct_fuzzer.cc b/fuzz/dct_fuzzer.cc index 450b4df2..b051819a 100644 --- a/fuzz/dct_fuzzer.cc +++ b/fuzz/dct_fuzzer.cc @@ -2,6 +2,7 @@ #include <qpdf/Pl_DCT.hh> #include <iostream> #include <stdexcept> +#include <cstdlib> class FuzzHelper { @@ -46,6 +47,11 @@ FuzzHelper::run() extern "C" int LLVMFuzzerTestOneInput(unsigned char const* data, size_t size) { +#ifndef _WIN32 + // Used by jpeg library to work around false positives in memory + // sanitizer. + setenv("JSIMD_FORCENONE", "1", 1); +#endif FuzzHelper f(data, size); f.run(); return 0; diff --git a/fuzz/qpdf_fuzzer.cc b/fuzz/qpdf_fuzzer.cc index 32b9a0fb..eb6791a4 100644 --- a/fuzz/qpdf_fuzzer.cc +++ b/fuzz/qpdf_fuzzer.cc @@ -9,6 +9,7 @@ #include <qpdf/QPDFPageLabelDocumentHelper.hh> #include <qpdf/QPDFOutlineDocumentHelper.hh> #include <qpdf/QPDFAcroFormDocumentHelper.hh> +#include <cstdlib> class DiscardContents: public QPDFObjectHandle::ParserCallbacks { @@ -223,6 +224,11 @@ FuzzHelper::run() extern "C" int LLVMFuzzerTestOneInput(unsigned char const* data, size_t size) { +#ifndef _WIN32 + // Used by jpeg library to work around false positives in memory + // sanitizer. + setenv("JSIMD_FORCENONE", "1", 1); +#endif FuzzHelper f(data, size); f.run(); return 0; diff --git a/libqpdf/Pl_DCT.cc b/libqpdf/Pl_DCT.cc index 7231486d..2ddafecb 100644 --- a/libqpdf/Pl_DCT.cc +++ b/libqpdf/Pl_DCT.cc @@ -8,6 +8,7 @@ #include <stdexcept> #include <stdlib.h> #include <string> +#include <cstring> #if BITS_IN_JSAMPLE != 8 # error "qpdf does not support libjpeg built with BITS_IN_JSAMPLE != 8" |