diff options
author | Mark Wielaard <mark@klomp.org> | 2024-03-01 17:05:16 +0100 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2024-03-01 17:08:39 +0100 |
commit | cc6e53b9f305148bda275ade40c0e625d98da2f2 (patch) | |
tree | 22773039c98af20e582a2bdc418166231a93fd55 | |
parent | 3979362ef98db16d1c6fe8fb12ee6a966305da49 (diff) | |
download | elfutils-cc6e53b9f305148bda275ade40c0e625d98da2f2.tar.gz |
libdw: Initialize tu_offset in __libdw_package_index
dwarf_cu_dwp_section_info.c: In function ‘__libdw_package_index’:
dwarf_cu_dwp_section_info.c:306:25: error: ‘tu_offset’ may be used uninitialized [-Werror=maybe-uninitialized]
306 | tu_offset += tu_index->section_count * 4;
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dwarf_cu_dwp_section_info.c:268:28: note: ‘tu_offset’ was declared here
268 | const unsigned char *tu_offset;
| ^~~~~~~~~
Which is the same issue we thought to have fixed by checking for
tu_index != NULL but not all gcc versions seem able to see that.
So just explicitly initialize tu_offset to NULL. We keep the older
check, so the NULL pointer should never be used.
* libdw/dwarf_cu_dwp_section_info.c (__libdw_package_index):
Initialize tu_offset.
Signed-off-by: Mark Wielaard <mark@klomp.org>
-rw-r--r-- | libdw/dwarf_cu_dwp_section_info.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libdw/dwarf_cu_dwp_section_info.c b/libdw/dwarf_cu_dwp_section_info.c index 9fdc15bf..5a081f5a 100644 --- a/libdw/dwarf_cu_dwp_section_info.c +++ b/libdw/dwarf_cu_dwp_section_info.c @@ -265,7 +265,7 @@ __libdw_package_index (Dwarf *dbg, bool tu) const unsigned char *cu_offset = cu_index->section_offsets + cu_index->sections[DW_SECT_INFO - 1] * 4; uint32_t tu_count = 0; - const unsigned char *tu_offset; + const unsigned char *tu_offset = NULL; if (tu_index != NULL) { tu_count = tu_index->unit_count; |