diff options
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/binary.c | 2 | ||||
-rw-r--r-- | bfd/mmo.c | 6 | ||||
-rw-r--r-- | bfd/srec.c | 6 |
4 files changed, 14 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 53bfe0d..9bef708 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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. diff --git a/bfd/binary.c b/bfd/binary.c index 38d0cc3..c4aec2b 100644 --- a/bfd/binary.c +++ b/bfd/binary.c @@ -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; @@ -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; @@ -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; |