diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7f361d7fb18..b9ee79572aa 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-04-17 Alan Modra + + PR 25842 + * elf.c (_bfd_elf_get_symbol_version_string): Don't segfault on + NULL nodename. + 2020-04-16 Nick Clifton PR 25803 diff --git a/bfd/elf.c b/bfd/elf.c index 3d2eee9ea8b..f3364eeddf2 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1911,8 +1911,12 @@ _bfd_elf_get_symbol_version_string (bfd *abfd, asymbol *symbol, { const char *nodename = elf_tdata (abfd)->verdef[vernum - 1].vd_nodename; - version_string = ((base_p || strcmp (symbol->name, nodename)) - ? nodename : ""); + version_string = ""; + if (base_p + || nodename == NULL + || symbol->name == NULL + || strcmp (symbol->name, nodename) != 0) + version_string = nodename; } else {