PR25637, objcopy : SIGSEGV in copy_object

Alan Modra amodra@gmail.com
Fri Mar 6 00:07:00 GMT 2020


	PR 25637
	* objcopy.c (filter_symbols): Correct rem_leading_char logic.

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 =

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list