From fec88d41e672d9e197c9442aecf02bd0dfa6d516 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Mon, 26 Jan 2015 20:39:28 +0200 Subject: [PATCH] liblzma: Silence harmless Valgrind errors. Thanks to Torsten Rupp for reporting this. I had forgotten to run Valgrind before the 5.2.0 release. --- src/liblzma/lz/lz_encoder.c | 6 ++++++ 1 file changed, 6 insertions(+) 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