summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/elf_py.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/elf_py.c b/lib/elf_py.c
index 81ca668e70..643495d8c7 100644
--- a/lib/elf_py.c
+++ b/lib/elf_py.c
@@ -1089,7 +1089,9 @@ static void elffile_add_dynreloc(struct elffile *w, Elf_Data *reldata,
symidx = relw->symidx = GELF_R_SYM(rela->r_info);
sym = relw->sym = gelf_getsym(symdata, symidx, &relw->_sym);
if (sym) {
- relw->symname = elfdata_strptr(strdata, sym->st_name);
+ if (strdata)
+ relw->symname = elfdata_strptr(strdata,
+ sym->st_name);
relw->symvalid = GELF_ST_TYPE(sym->st_info)
!= STT_NOTYPE;
relw->unresolved = sym->st_shndx == SHN_UNDEF;