This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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