aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fuzz/dct_fuzzer.cc6
-rw-r--r--fuzz/qpdf_fuzzer.cc6
-rw-r--r--libqpdf/Pl_DCT.cc1
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"