From: Mark Wielaard Date: Sat, 22 Jun 2024 22:52:06 +0000 (+0200) Subject: libdwfl: Make sure mapped is always set in unzip X-Git-Tag: elfutils-0.192~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=906b5edb8602f188218cc432481ed893644bc534;p=thirdparty%2Felfutils.git libdwfl: Make sure mapped is always set in unzip Found by GCC14 -Wanalyzer-null-argument. When unzip is called with mapped NULL, but *_whole not NULL, *_whole contains the first part of the input. But we check against mapped to make sure the MAGIC bytes are there. This only worked because this code path was never taken, unzip is currently always called with *_whole being NULL. * libdwfl/gzip.c (unzip): Set mapped = state.input_buffer when *whole is not NULL. Signed-off-by: Mark Wielaard --- diff --git a/libdwfl/gzip.c b/libdwfl/gzip.c index 002afc4e..9c74abda 100644 --- a/libdwfl/gzip.c +++ b/libdwfl/gzip.c @@ -212,6 +212,7 @@ unzip (int fd, off_t start_offset, else { state.input_buffer = *state.whole; + mapped = state.input_buffer; state.input_pos = state.mapped_size = *whole_size; } }