* [PATCH] linker.c, null string
@ 2007-07-24 22:19 msnyder
2007-07-25 0:11 ` Alan Modra
0 siblings, 1 reply; 3+ messages in thread
From: msnyder @ 2007-07-24 22:19 UTC (permalink / raw)
To: binutils
[-- Attachment #1: Type: text/plain, Size: 134 bytes --]
Shouldn't use NULL to denote an invalid string, because the pointer
will be passed to functions that will dereference it (Coverity).
[-- Attachment #2: string.txt --]
[-- Type: text/plain, Size: 830 bytes --]
2007-07-24 Michael Snyder <msnyder@access-company.com>
* linker.c (generic_link_add_symbol_list): Use an invalid string
rather than null, since the pointer will be dereferenced.
Index: linker.c
===================================================================
RCS file: /cvs/src/src/bfd/linker.c,v
retrieving revision 1.59
diff -p -r1.59 linker.c
*** linker.c 3 Jul 2007 14:26:42 -0000 1.59
--- linker.c 24 Jul 2007 20:53:38 -0000
*************** generic_link_add_symbol_list (bfd *abfd,
*** 1334,1340 ****
name = bfd_asymbol_name (*pp);
}
else
! string = NULL;
bh = NULL;
if (! (_bfd_generic_link_add_one_symbol
--- 1334,1340 ----
name = bfd_asymbol_name (*pp);
}
else
! string = "*invalid*";
bh = NULL;
if (! (_bfd_generic_link_add_one_symbol
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] linker.c, null string
2007-07-24 22:19 [PATCH] linker.c, null string msnyder
@ 2007-07-25 0:11 ` Alan Modra
2007-07-25 0:49 ` msnyder
0 siblings, 1 reply; 3+ messages in thread
From: Alan Modra @ 2007-07-25 0:11 UTC (permalink / raw)
To: msnyder; +Cc: binutils
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-07-25 0:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-24 22:19 [PATCH] linker.c, null string msnyder
2007-07-25 0:11 ` Alan Modra
2007-07-25 0:49 ` msnyder
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).