From 6671d0fe46b77f0fafce860836b7a12dc3cda14a Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Thu, 12 Jan 2023 03:19:59 +0200 Subject: [PATCH] liblzma: Silence warnings from clang -Wconditional-uninitialized. This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0. The actual initialization of the variables is done inside mythread_sync() macro. Clang doesn't seem to see that the initialization code inside the macro is always executed. --- src/liblzma/common/stream_decoder_mt.c | 8 +++++--- src/liblzma/common/stream_encoder_mt.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/liblzma/common/stream_decoder_mt.c b/src/liblzma/common/stream_decoder_mt.c index fd5cd7fd..b8ba4d39 100644 --- a/src/liblzma/common/stream_decoder_mt.c +++ b/src/liblzma/common/stream_decoder_mt.c @@ -1358,9 +1358,11 @@ stream_decode_mt(void *coder_ptr, const lzma_allocator *allocator, // values after we read these as those changes can only be // towards more favorable conditions (less memory in use, // more in cache). - uint64_t mem_in_use; - uint64_t mem_cached; - struct worker_thread *thr = NULL; // Init to silence warning. + // + // These are initalized to silence warnings. + uint64_t mem_in_use = 0; + uint64_t mem_cached = 0; + struct worker_thread *thr = NULL; mythread_sync(coder->mutex) { mem_in_use = coder->mem_in_use; diff --git a/src/liblzma/common/stream_encoder_mt.c b/src/liblzma/common/stream_encoder_mt.c index f4497c10..5990742b 100644 --- a/src/liblzma/common/stream_encoder_mt.c +++ b/src/liblzma/common/stream_encoder_mt.c @@ -645,7 +645,7 @@ stream_encode_in(lzma_stream_coder *coder, const lzma_allocator *allocator, } if (block_error) { - lzma_ret ret; + lzma_ret ret = LZMA_OK; // Init to silence a warning. mythread_sync(coder->mutex) { ret = coder->thread_error;