diff options
author | Jay Berkenbilt <ejb@ql.org> | 2020-10-22 12:27:25 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2020-10-22 12:31:52 +0200 |
commit | 232f5fc9f3bed8e1b02bca5d10b2eca444e30f95 (patch) | |
tree | a28fd45c3425ef3445b53d58482e9d442ef63d5b /fuzz/dct_fuzzer.cc | |
parent | c1684eae9144129027642f5069a0fd97f0559ec8 (diff) | |
download | qpdf-232f5fc9f3bed8e1b02bca5d10b2eca444e30f95.tar.zst |
Handle jpeg library fuzz false positives
The jpeg library has some assembly code that is missed by the compiler
instrumentation used by memory sanitization. There is a runtime
environment variable that is used to work around this issue.
Diffstat (limited to 'fuzz/dct_fuzzer.cc')
-rw-r--r-- | fuzz/dct_fuzzer.cc | 6 |
1 files changed, 6 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; |