From patchwork Wed Jan 1 00:00:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aleksei Vetrov via Libabigail X-Patchwork-Id: 38991 X-Patchwork-Original-From: libabigail@sourceware.org (Matthias Maennich via libabigail) From: Aleksei Vetrov via Libabigail Date: Wed, 01 Jan 2020 00:00:00 -0000 Subject: [PATCH] abg-dwarf-reader: zero initialize local Dwarf_Addr values Message-ID: <20200203163503.250026-1-maennich@google.com> Not initializing those might lead to undefined behaviour. E.g. if the call to 'dwarf_ranges' does not initialize 'addr', we pass that uninitialized value to 'maybe_adjust_fn_sym_address' and test it for zero as first action, depending on the random value. Hence, fix that by initializing the values. * src/abg-dwarf-reader.cc (read_context::get_first_exported_fn_address_from_DW_AT_ranges): initialize local Dwarf_Addr variables. Signed-off-by: Matthias Maennich --- src/abg-dwarf-reader.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index f6ab72c7dabb..436f6102870e 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -8747,7 +8747,7 @@ public: do { - Dwarf_Addr addr, fn_addr; + Dwarf_Addr addr = 0, fn_addr = 0; if ((offset = dwarf_ranges(die, offset, &base, &addr, &end_addr)) >= 0) { fn_addr = maybe_adjust_fn_sym_address(addr);