mirror of
https://github.com/webmproject/libwebp.git
synced 2025-02-21 03:12:52 +01:00
Merge "add WEBP_MSAN" into main
This commit is contained in:
commit
67c1d72239
@ -147,6 +147,12 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__has_feature)
|
||||||
|
#if __has_feature(memory_sanitizer)
|
||||||
|
#define WEBP_MSAN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(WEBP_USE_THREAD) && !defined(_WIN32)
|
#if defined(WEBP_USE_THREAD) && !defined(_WIN32)
|
||||||
#include <pthread.h> // NOLINT
|
#include <pthread.h> // NOLINT
|
||||||
|
|
||||||
|
@ -451,11 +451,20 @@ static WEBP_INLINE void AccumulateRGB(const uint8_t* const r_ptr,
|
|||||||
dst[0] = SUM4(r_ptr + j, step);
|
dst[0] = SUM4(r_ptr + j, step);
|
||||||
dst[1] = SUM4(g_ptr + j, step);
|
dst[1] = SUM4(g_ptr + j, step);
|
||||||
dst[2] = SUM4(b_ptr + j, step);
|
dst[2] = SUM4(b_ptr + j, step);
|
||||||
|
// MemorySanitizer may raise false positives with data that passes through
|
||||||
|
// RGBA32PackedToPlanar_16b_SSE41() due to incorrect modeling of shuffles.
|
||||||
|
// See https://crbug.com/webp/573.
|
||||||
|
#ifdef WEBP_MSAN
|
||||||
|
dst[3] = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (width & 1) {
|
if (width & 1) {
|
||||||
dst[0] = SUM2(r_ptr + j);
|
dst[0] = SUM2(r_ptr + j);
|
||||||
dst[1] = SUM2(g_ptr + j);
|
dst[1] = SUM2(g_ptr + j);
|
||||||
dst[2] = SUM2(b_ptr + j);
|
dst[2] = SUM2(b_ptr + j);
|
||||||
|
#ifdef WEBP_MSAN
|
||||||
|
dst[3] = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user