From b290f47f2cb15152140354c2850ed4a15449d2df Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 18 Dec 2014 09:28:50 +0100 Subject: [PATCH] libdwfl: Make sure symstrdata->d_buf != NULL in relocate resolve_symbol. Signed-off-by: Mark Wielaard --- libdwfl/ChangeLog | 4 ++++ libdwfl/relocate.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 36585765c..f6db301c3 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,7 @@ +2014-12-18 Mark Wielaard + + * relocate.c (resolve_symbol): Make sure symstrdata->d_buf != NULL. + 2014-12-13 Mark Wielaard * dwfl_module_getdwarf.c (find_dynsym): elf_getdata_rawchunk takes diff --git a/libdwfl/relocate.c b/libdwfl/relocate.c index fd7dbd54a..e102e1e42 100644 --- a/libdwfl/relocate.c +++ b/libdwfl/relocate.c @@ -206,7 +206,8 @@ resolve_symbol (Dwfl_Module *referer, struct reloc_symtab_cache *symtab, symtab->symstrdata = elf_getdata (elf_getscn (symtab->symelf, symtab->strtabndx), NULL); - if (unlikely (symtab->symstrdata == NULL)) + if (unlikely (symtab->symstrdata == NULL + || symtab->symstrdata->d_buf == NULL)) return DWFL_E_LIBELF; } if (unlikely (sym->st_name >= symtab->symstrdata->d_size)) -- 2.47.2