[2/2] dwarf-reader: remove superfluous ABG_ASSERT
Commit Message
maybe_adjust_et_rel_sym_addr_to_abs_addr contained an ABG_ASSERT to
ensure symbol_section is not used on an invalid value. Since
maybe_adjust_et_rel_sym_addr_to_abs_addr handles this case, this assert
can be removed.
* src/abg-dwarf-reader.cc
(maybe_adjust_et_rel_sym_addr_to_abs_addr): improve NULL check,
remove superfluous ABG_ASSERT
* tests/data/Makefile.am: Add new test case to the distribution.
* tests/test-read-dwarf.cc: Likewise.
* tests/data/test-read-dwarf/test27-bogus-binary.elf: New test case.
Signed-off-by: Matthias Maennich <maennich@google.com>
---
src/abg-dwarf-reader.cc | 3 +--
tests/data/Makefile.am | 1 +
.../data/test-read-dwarf/test27-bogus-binary.elf | Bin 0 -> 1024 bytes
tests/test-read-dwarf.cc | 6 ++++++
4 files changed, 8 insertions(+), 2 deletions(-)
create mode 100644 tests/data/test-read-dwarf/test27-bogus-binary.elf
Comments
Matthias Maennich <maennich@google.com> a ?crit:
> maybe_adjust_et_rel_sym_addr_to_abs_addr contained an ABG_ASSERT to
> ensure symbol_section is not used on an invalid value. Since
> maybe_adjust_et_rel_sym_addr_to_abs_addr handles this case, this assert
> can be removed.
>
> * src/abg-dwarf-reader.cc
> (maybe_adjust_et_rel_sym_addr_to_abs_addr): improve NULL check,
> remove superfluous ABG_ASSERT
> * tests/data/Makefile.am: Add new test case to the distribution.
> * tests/test-read-dwarf.cc: Likewise.
> * tests/data/test-read-dwarf/test27-bogus-binary.elf: New test
> case.
Applied to master.
Thanks!
@@ -8585,7 +8585,7 @@ public:
GElf_Addr
maybe_adjust_et_rel_sym_addr_to_abs_addr(GElf_Addr addr, Elf_Scn *section)
{
- if (section == 0)
+ if (!section)
return addr;
Elf* elf = elf_handle();
@@ -8623,7 +8623,6 @@ public:
maybe_adjust_et_rel_sym_addr_to_abs_addr(GElf_Sym *sym)
{
Elf_Scn *symbol_section = elf_getscn(elf_handle(), sym->st_shndx);
- ABG_ASSERT(symbol_section);
GElf_Addr result = sym->st_value;
result = maybe_adjust_et_rel_sym_addr_to_abs_addr(result, symbol_section);
return result;
@@ -437,6 +437,7 @@ test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0 \
test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi \
test-read-dwarf/test25-bogus-binary.elf \
test-read-dwarf/test26-bogus-binary.elf \
+test-read-dwarf/test27-bogus-binary.elf \
\
test-annotate/test0.abi \
test-annotate/test1.abi \
new file mode 100644
GIT binary patch
literal 1024
zcmb<-^>JflWbAif0D+kd?En9_%m4rXkCA}|ECM3)Ud_M9@FCXnzbC^vCLrHK^%PhR
zS%E%Kf%X3e77d`Fk&&^1nUR?i7H}6TrU;iag0l!Q?5_Xcbtinrk;q3C>w0SMOE82S
zf@oPS2h*wrWGKTp$TS0x^B)50lo%MnE>}=u0QrVNNdQ?T7B)~HNF6t(lp-5QzlE_W
zlBJi?lmRVk_y-aTQIq4_z-7^!8}gSy*!0K8hdVQ0tqPN}dFt5yUwD;9ae;xs)YYF{
zE=>CFv)jCiOd!DLp>TS6Np{-Re_1hAPj@xgc}Yy%eKJuknM?zr+B67)-9S5VDf;k>
zg@5|=;;4_SH?3LgkTK)Qt4X>ync5OQ<nCCs*J}BR<@;o-odmAM{t^BpG_OBJAz^3g
zrRli6694CL&9e6_ugVhlDO4^DTcdoI$`(-U!m}Db1Xj+-TcxV5u`AGUuClX9<I8fL
z&4yP@c@p;SI4fH`t2LeVOyR@biD#J2jxVizUU4Dv=v|h_C-Ya;ACaE@<u3>Ck=uuY
IRA}x~0RO9kcmMzZ
literal 0
HcmV?d00001
@@ -265,6 +265,12 @@ InOutSpec in_out_specs[] =
"",
"",
},
+ {
+ "data/test-read-dwarf/test27-bogus-binary.elf",
+ "",
+ "",
+ "",
+ },
// This should be the last entry.
{NULL, NULL, NULL, NULL}
};