1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.

When optimizing, GCC can reorder code so that an uninitialized
value gets used in a comparison, which makes Valgrind unhappy.
It doesn't happen when compiled with -O0, which I tend to use
when running Valgrind.

Thanks to Rich Prohaska. I remember this being mentioned long
ago by someone else but nothing was done back then.
This commit is contained in:
Lasse Collin 2015-11-04 23:14:00 +02:00
parent f4c95ba94b
commit 14115f84a3

View file

@ -541,7 +541,11 @@ lzma_lz_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
next->coder->lz.code = NULL; next->coder->lz.code = NULL;
next->coder->lz.end = NULL; next->coder->lz.end = NULL;
// mf.size is initialized to silence Valgrind
// when used on optimized binaries (GCC may reorder
// code in a way that Valgrind gets unhappy).
next->coder->mf.buffer = NULL; next->coder->mf.buffer = NULL;
next->coder->mf.size = 0;
next->coder->mf.hash = NULL; next->coder->mf.hash = NULL;
next->coder->mf.son = NULL; next->coder->mf.son = NULL;
next->coder->mf.hash_count = 0; next->coder->mf.hash_count = 0;