PR25637, objcopy : SIGSEGV in copy_object

Message ID 20200306000653.GC5384@bubble.grove.modra.org
State New
Headers show
Series
  • PR25637, objcopy : SIGSEGV in copy_object
Related show

Commit Message

Alan Modra March 6, 2020, 12:06 a.m.
PR 25637
	* objcopy.c (filter_symbols): Correct rem_leading_char logic.


-- 
Alan Modra
Australia Development Lab, IBM

Patch

diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 3b9f1b73ca..16affa9960 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -1549,12 +1549,13 @@  filter_symbols (bfd *abfd, bfd *obfd, asymbol **osyms,
 
       /* Check if we will remove the current leading character.  */
       rem_leading_char =
-	(name[0] == bfd_get_symbol_leading_char (abfd))
-	&& (change_leading_char
-	    || (remove_leading_char
-		&& ((flags & (BSF_GLOBAL | BSF_WEAK)) != 0
-		    || undefined
-		    || bfd_is_com_section (bfd_asymbol_section (sym)))));
+	(name[0] != '\0'
+	 && name[0] == bfd_get_symbol_leading_char (abfd)
+	 && (change_leading_char
+	     || (remove_leading_char
+		 && ((flags & (BSF_GLOBAL | BSF_WEAK)) != 0
+		     || undefined
+		     || bfd_is_com_section (bfd_asymbol_section (sym))))));
 
       /* Check if we will add a new leading character.  */
       add_leading_char =