aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2015-01-26 20:39:28 +0200
committerLasse Collin <lasse.collin@tukaani.org>2015-01-26 20:39:28 +0200
commitfec88d41e672d9e197c9442aecf02bd0dfa6d516 (patch)
tree513cd95bd616cfe19b86ba3faba35246d8466ae4 /src/liblzma
parentxz: Fix comments. (diff)
downloadxz-fec88d41e672d9e197c9442aecf02bd0dfa6d516.tar.xz
liblzma: Silence harmless Valgrind errors.
Thanks to Torsten Rupp for reporting this. I had forgotten to run Valgrind before the 5.2.0 release.
Diffstat (limited to 'src/liblzma')
-rw-r--r--src/liblzma/lz/lz_encoder.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/liblzma/lz/lz_encoder.c b/src/liblzma/lz/lz_encoder.c
index 2033844f..01dfc06f 100644
--- a/src/liblzma/lz/lz_encoder.c
+++ b/src/liblzma/lz/lz_encoder.c
@@ -110,6 +110,12 @@ fill_window(lzma_coder *coder, const lzma_allocator *allocator,
coder->mf.write_pos = write_pos;
+ // Silence Valgrind. lzma_memcmplen() can read extra bytes
+ // and Valgrind will give warnings if those bytes are uninitialized
+ // because Valgrind cannot see that the values of the uninitialized
+ // bytes are eventually ignored.
+ memzero(coder->mf.buffer + write_pos, LZMA_MEMCMPLEN_EXTRA);
+
// If end of stream has been reached or flushing completed, we allow
// the encoder to process all the input (that is, read_pos is allowed
// to reach write_pos). Otherwise we keep keep_size_after bytes