diff --git a/fuzz/decompress.cc b/fuzz/decompress.cc index 022336aa..c7fcb500 100644 --- a/fuzz/decompress.cc +++ b/fuzz/decompress.cc @@ -44,11 +44,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) necessary to achieve full coverage. */ enum TJPF pixelFormats[NUMPF] = { TJPF_RGB, TJPF_BGRX, TJPF_GRAY, TJPF_CMYK }; - #if defined(__has_feature) && __has_feature(memory_sanitizer) + char env[18] = "JSIMD_FORCENONE=1"; + /* The libjpeg-turbo SIMD extensions produce false positives with MemorySanitizer. */ - putenv("JSIMD_FORCENONE=1"); + putenv(env); #endif if ((handle = tjInitDecompress()) == NULL) diff --git a/fuzz/decompress_yuv.cc b/fuzz/decompress_yuv.cc index a8a7302f..d603fd81 100644 --- a/fuzz/decompress_yuv.cc +++ b/fuzz/decompress_yuv.cc @@ -44,11 +44,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) necessary to achieve full coverage. */ enum TJPF pixelFormats[NUMPF] = { TJPF_BGR, TJPF_XRGB, TJPF_GRAY }; - #if defined(__has_feature) && __has_feature(memory_sanitizer) + char env[18] = "JSIMD_FORCENONE=1"; + /* The libjpeg-turbo SIMD extensions produce false positives with MemorySanitizer. */ - putenv("JSIMD_FORCENONE=1"); + putenv(env); #endif if ((handle = tjInitDecompress()) == NULL) diff --git a/fuzz/transform.cc b/fuzz/transform.cc index 0ab33a36..372b5bb0 100644 --- a/fuzz/transform.cc +++ b/fuzz/transform.cc @@ -42,11 +42,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) unsigned long dstSizes[NUMXFORMS] = { 0, 0, 0 }, maxBufSize; int width = 0, height = 0, jpegSubsamp, jpegColorspace, i, t; tjtransform transforms[NUMXFORMS]; - #if defined(__has_feature) && __has_feature(memory_sanitizer) + char env[18] = "JSIMD_FORCENONE=1"; + /* The libjpeg-turbo SIMD extensions produce false positives with MemorySanitizer. */ - putenv("JSIMD_FORCENONE=1"); + putenv(env); #endif if ((handle = tjInitTransform()) == NULL)