abg-dwarf-reader: zero initialize local Dwarf_Addr values
authorMatthias Maennich <maennich@google.com>
Mon, 3 Feb 2020 16:25:16 +0000 (16:25 +0000)
committerMatthias Maennich <maennich@google.com>
Tue, 4 Feb 2020 08:39:21 +0000 (08:39 +0000)
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.

Reviewed-by: Dodji Seketeli <dodji@seketeli.org>
Signed-off-by: Matthias Maennich <maennich@google.com>
src/abg-dwarf-reader.cc

index f6ab72c..436f610 100644 (file)
@@ -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);