* srec.c (srec_canonicalize_symtab): Don't alloc when symcount

is zero.  Correct return value on error.
	* mmo.c (mmo_canonicalize_symtab): Likewise.
	* binary.c (binary_canonicalize_symtab) Correct return on error.
This commit is contained in:
Alan Modra 2007-07-26 11:13:59 +00:00
parent c2c966314b
commit b9da616afe
4 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2007-07-26 Alan Modra <amodra@bigpond.net.au>
* srec.c (srec_canonicalize_symtab): Don't alloc when symcount
is zero. Correct return value on error.
* mmo.c (mmo_canonicalize_symtab): Likewise.
* binary.c (binary_canonicalize_symtab) Correct return on error.
2007-07-26 Thiemo Seufer <ths@mips.com>
* bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.

View File

@ -169,7 +169,7 @@ binary_canonicalize_symtab (bfd *abfd, asymbol **alocation)
syms = bfd_alloc (abfd, amt);
if (syms == NULL)
return 0;
return -1;
/* Start symbol. */
syms[0].the_bfd = abfd;

View File

@ -2097,7 +2097,7 @@ mmo_canonicalize_symtab (bfd *abfd, asymbol **alocation)
unsigned int i;
csymbols = abfd->tdata.mmo_data->csymbols;
if (csymbols == NULL)
if (csymbols == NULL && symcount != 0)
{
asymbol *c;
struct mmo_symbol *s;
@ -2119,8 +2119,8 @@ mmo_canonicalize_symtab (bfd *abfd, asymbol **alocation)
mmo_sort_mmo_symbols);
csymbols = (asymbol *) bfd_alloc (abfd, symcount * sizeof (asymbol));
if (csymbols == NULL && symcount != 0)
return FALSE;
if (csymbols == NULL)
return -1;
abfd->tdata.mmo_data->csymbols = csymbols;
for (msp = (struct mmo_symbol **) alocation, c = csymbols;

View File

@ -1125,14 +1125,14 @@ srec_canonicalize_symtab (bfd *abfd, asymbol **alocation)
unsigned int i;
csymbols = abfd->tdata.srec_data->csymbols;
if (csymbols == NULL)
if (csymbols == NULL && symcount != 0)
{
asymbol *c;
struct srec_symbol *s;
csymbols = bfd_alloc (abfd, symcount * sizeof (asymbol));
if (csymbols == NULL && symcount != 0)
return 0;
if (csymbols == NULL)
return -1;
abfd->tdata.srec_data->csymbols = csymbols;
for (s = abfd->tdata.srec_data->symbols, c = csymbols;