summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej Hunt <andrzej@ahunt.org>2021-06-04 18:25:19 +0200
committerMark Adler <madler@alumni.caltech.edu>2023-08-12 13:15:21 -0700
commit981ee7570ad98a3cf1ae74d737e2ee619ed79171 (patch)
treef21996f3cd7fefdecd20b7166b66589068c182fe
parent1411ccafc0f50997b56135c3ee542fdfe9d7f34c (diff)
downloadzlib-981ee7570ad98a3cf1ae74d737e2ee619ed79171.tar.gz
zlib-981ee7570ad98a3cf1ae74d737e2ee619ed79171.tar.bz2
zlib-981ee7570ad98a3cf1ae74d737e2ee619ed79171.zip
Suppress MSAN detections in deflate's slide_hash().
slide_hash() knowingly reads potentially uninitialized memory, see comment lower down about prev[n] potentially being garbage. In this case, the result is never used.
-rw-r--r--deflate.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/deflate.c b/deflate.c
index c271d01..1ede12a 100644
--- a/deflate.c
+++ b/deflate.c
@@ -179,6 +179,11 @@ local const config configuration_table[10] = {
179 * bit values at the expense of memory usage). We slide even when level == 0 to 179 * bit values at the expense of memory usage). We slide even when level == 0 to
180 * keep the hash table consistent if we switch back to level > 0 later. 180 * keep the hash table consistent if we switch back to level > 0 later.
181 */ 181 */
182#if defined(__has_feature)
183# if __has_feature(memory_sanitizer)
184 __attribute__((no_sanitize("memory")))
185# endif
186#endif
182local void slide_hash(deflate_state *s) { 187local void slide_hash(deflate_state *s) {
183 unsigned n, m; 188 unsigned n, m;
184 Posf *p; 189 Posf *p;