diff options
| author | Andrzej Hunt <andrzej@ahunt.org> | 2021-06-04 18:25:19 +0200 |
|---|---|---|
| committer | Mark Adler <madler@alumni.caltech.edu> | 2023-08-12 13:15:21 -0700 |
| commit | 981ee7570ad98a3cf1ae74d737e2ee619ed79171 (patch) | |
| tree | f21996f3cd7fefdecd20b7166b66589068c182fe | |
| parent | 1411ccafc0f50997b56135c3ee542fdfe9d7f34c (diff) | |
| download | zlib-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.c | 5 |
1 files changed, 5 insertions, 0 deletions
| @@ -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 | ||
| 182 | local void slide_hash(deflate_state *s) { | 187 | local void slide_hash(deflate_state *s) { |
| 183 | unsigned n, m; | 188 | unsigned n, m; |
| 184 | Posf *p; | 189 | Posf *p; |
