]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Invalid read in _bfd_elf_get_symbol_version_string
authorAlan Modra <amodra@gmail.com>
Tue, 28 Jun 2016 09:29:33 +0000 (18:59 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 28 Jun 2016 11:42:23 +0000 (21:12 +0930)
PR 20304
* objdump.c (objdump_print_symname): Don't attempt to retrieve
version info from synthetic symbols.

binutils/ChangeLog
binutils/objdump.c

index 81cb7bdd52787ecfddbc4964ca8238bb0ff0cc97..2695a55f134288a3ae65a126a6d1718806df3aa3 100644 (file)
@@ -1,3 +1,9 @@
+2016-06-28  Alan Modra  <amodra@gmail.com>
+
+       PR 20304
+       * objdump.c (objdump_print_symname): Don't attempt to retrieve
+       version info from synthetic symbols.
+
 2016-06-13  Alan Modra  <amodra@gmail.com>
 
        * objcopy.c (copy_main): Init newsym->othersym.
index ba9cd7c5460a97dbd266ec8058d66ff287fcb346..c85b0234f181262163587a74bf1633bfecf37934 100644 (file)
@@ -809,7 +809,8 @@ objdump_print_symname (bfd *abfd, struct disassemble_info *inf,
        name = alloc;
     }
 
-  version_string = bfd_get_symbol_version_string (abfd, sym, &hidden);
+  if ((sym->flags & BSF_SYNTHETIC) == 0)
+    version_string = bfd_get_symbol_version_string (abfd, sym, &hidden);
 
   if (bfd_is_und_section (bfd_get_section (sym)))
     hidden = TRUE;