This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] linker.c, null string


On Tue, Jul 24, 2007 at 01:56:10PM -0700, msnyder@sonic.net wrote:
> Shouldn't use NULL to denote an invalid string, because the pointer
> will be passed to functions that will dereference it (Coverity).

Actually, it won't ever be dereferenced.  The function that is called,
_bfd_generic_link_add_one_symbol, only uses "string" when handling
warning and indirect symbols.

> 	* linker.c (generic_link_add_symbol_list): Use an invalid string
> 	rather than null, since the pointer will be dereferenced.

So introducing another string constant is just bloat.  We do like to
fix warnings though.  I'm committing the following.

	* linker.c (generic_link_add_symbol_list): Warning fix.

Index: bfd/linker.c
===================================================================
RCS file: /cvs/src/src/bfd/linker.c,v
retrieving revision 1.59
diff -u -p -r1.59 linker.c
--- bfd/linker.c	3 Jul 2007 14:26:42 -0000	1.59
+++ bfd/linker.c	24 Jul 2007 23:25:56 -0000
@@ -1316,7 +1316,7 @@ generic_link_add_symbol_list (bfd *abfd,
 	  struct generic_link_hash_entry *h;
 	  struct bfd_link_hash_entry *bh;
 
-	  name = bfd_asymbol_name (p);
+	  string = name = bfd_asymbol_name (p);
 	  if (((p->flags & BSF_INDIRECT) != 0
 	       || bfd_is_ind_section (p->section))
 	      && pp + 1 < ppend)
@@ -1329,12 +1329,9 @@ generic_link_add_symbol_list (bfd *abfd,
 	    {
 	      /* The name of P is actually the warning string, and the
 		 next symbol is the one to warn about.  */
-	      string = name;
 	      pp++;
 	      name = bfd_asymbol_name (*pp);
 	    }
-	  else
-	    string = NULL;
 
 	  bh = NULL;
 	  if (! (_bfd_generic_link_add_one_symbol

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]