diff options
Diffstat (limited to 'libdwfl/offline.c')
-rw-r--r-- | libdwfl/offline.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libdwfl/offline.c b/libdwfl/offline.c index e090b42b..52539fe3 100644 --- a/libdwfl/offline.c +++ b/libdwfl/offline.c @@ -50,10 +50,11 @@ dwfl_offline_section_address (Dwfl_Module *mod, const GElf_Shdr *shdr __attribute__ ((unused)), Dwarf_Addr *addr) { - assert (mod->e_type == ET_REL); - assert (shdr->sh_addr == 0); - assert (shdr->sh_flags & SHF_ALLOC); - assert (shndx != 0); + if (mod->e_type != ET_REL + || shdr->sh_addr != 0 + || !(shdr->sh_flags & SHF_ALLOC) + || shndx == 0) + return -1; if (mod->debug.elf == NULL) /* We are only here because sh_addr is zero even though layout is complete. |