From b3cee0a981326af85e3b0695f728a63f981bf465 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 5 Apr 1994 15:32:49 +0000 Subject: [PATCH] * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if section->relocation is NULL; malloc might have returned NULL when given a zero size if there were no relocations. * bout.c (b_out_canonicalize_reloc): Likewise. * coffcode.h (coff_canonicalize_reloc): Likewise. * ecoff.c (ecoff_canonicalize_reloc): Likewise. * elfcode.h (elf_canonicalize_reloc): Likewise. * mipsbsd.c (MY(canonicalize_reloc)): Likewise. * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. * nlmcode.h (nlm_canonicalize_reloc): Likewise. * som.c (som_canonicalize_reloc): Likewise. * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc returns NULL, don't report an error if we asked for zero bytes. * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns NULL, don't report an error if we asked for zero bytes. * nlmcode.h (nlm_slurp_reloc_fixups): Likewise. --- bfd/ChangeLog | 19 +++++++++++++++++++ bfd/aoutx.h | 1 - bfd/bout.c | 6 ++---- bfd/coffcode.h | 2 -- bfd/ecoff.c | 2 -- bfd/elfcode.h | 2 -- bfd/hp300hpux.c | 6 ++---- bfd/i386lynx.c | 6 ++---- bfd/mipsbsd.c | 2 -- bfd/nlmcode.h | 4 +--- bfd/som.c | 2 -- 11 files changed, 26 insertions(+), 26 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index abe6ed1527b..ea22d42bda7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,22 @@ +Tue Apr 5 11:22:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * aoutx.h (NAME(aout,canonicalize_reloc)): Don't error out if + section->relocation is NULL; malloc might have returned NULL when + given a zero size if there were no relocations. + * bout.c (b_out_canonicalize_reloc): Likewise. + * coffcode.h (coff_canonicalize_reloc): Likewise. + * ecoff.c (ecoff_canonicalize_reloc): Likewise. + * elfcode.h (elf_canonicalize_reloc): Likewise. + * mipsbsd.c (MY(canonicalize_reloc)): Likewise. + * i386lynx.c (NAME(lynx,canonicalize_reloc)): Likewise. + * nlmcode.h (nlm_canonicalize_reloc): Likewise. + * som.c (som_canonicalize_reloc): Likewise. + * hp300hpux.c (MY(slurp_reloc_table)): Likewise. Also, if malloc + returns NULL, don't report an error if we asked for zero bytes. + * i386lynx.c (NAME(lynx,slurp_reloc_table)): If malloc returns + NULL, don't report an error if we asked for zero bytes. + * nlmcode.h (nlm_slurp_reloc_fixups): Likewise. + Mon Apr 4 15:30:49 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * aoutx.h (NAME(aout,bfd_free_cached_info)): Don't free anything diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 2bd29ec115a..5a45b0bbe71 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -2603,7 +2603,6 @@ NAME(aout,canonicalize_reloc) (abfd, section, relptr, symbols) } else { tblptr = section->relocation; - if (!tblptr) return 0; for (count = 0; count++ < section->reloc_count;) { diff --git a/bfd/bout.c b/bfd/bout.c index b0570c9ed42..d560e8c8600 100644 --- a/bfd/bout.c +++ b/bfd/bout.c @@ -818,11 +818,9 @@ b_out_canonicalize_reloc (abfd, section, relptr, symbols) arelent *tblptr = section->relocation; unsigned int count = 0; - if (!(tblptr || b_out_slurp_reloc_table (abfd, section, symbols))) - return -1; + if (!(tblptr || b_out_slurp_reloc_table (abfd, section, symbols))) + return -1; tblptr = section->relocation; - if (!tblptr) - return -1; for (; count++ < section->reloc_count;) *relptr++ = tblptr++; diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 445ce5b4c40..3b75ef48651 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -2423,8 +2423,6 @@ coff_canonicalize_reloc (abfd, section, relptr, symbols) return -1; tblptr = section->relocation; - if (!tblptr) - return -1; for (; count++ < section->reloc_count;) *relptr++ = tblptr++; diff --git a/bfd/ecoff.c b/bfd/ecoff.c index fe786abaaef..61833055b8c 100644 --- a/bfd/ecoff.c +++ b/bfd/ecoff.c @@ -1944,8 +1944,6 @@ ecoff_canonicalize_reloc (abfd, section, relptr, symbols) return -1; tblptr = section->relocation; - if (tblptr == (arelent *) NULL) - return -1; for (count = 0; count < section->reloc_count; count++) *relptr++ = tblptr++; diff --git a/bfd/elfcode.h b/bfd/elfcode.h index 7d94179a997..5c5e8cb20c1 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -3077,8 +3077,6 @@ elf_canonicalize_reloc (abfd, section, relptr, symbols) } tblptr = section->relocation; - if (!tblptr) - return -1; for (; count++ < section->reloc_count;) *relptr++ = tblptr++; diff --git a/bfd/hp300hpux.c b/bfd/hp300hpux.c index 3b8cb9c4ad8..496f754e1b2 100644 --- a/bfd/hp300hpux.c +++ b/bfd/hp300hpux.c @@ -750,7 +750,7 @@ doit: reloc_cache = (arelent *) bfd_zalloc (abfd, (size_t) (count * sizeof (arelent))); - if (!reloc_cache) + if (!reloc_cache && count != 0) { nomem: bfd_set_error (bfd_error_no_memory); @@ -758,7 +758,7 @@ doit: } relocs = (PTR) bfd_alloc (abfd, reloc_size); - if (!relocs) + if (!relocs && reloc_size != 0) { bfd_release (abfd, reloc_cache); goto nomem; @@ -863,8 +863,6 @@ MY (canonicalize_reloc) (abfd, section, relptr, symbols) else { tblptr = section->relocation; - if (!tblptr) - return -1; for (count = 0; count++ < section->reloc_count;) { diff --git a/bfd/i386lynx.c b/bfd/i386lynx.c index 784a6f27ac0..3db7b143931 100644 --- a/bfd/i386lynx.c +++ b/bfd/i386lynx.c @@ -427,7 +427,7 @@ doit: memset (reloc_cache, 0, count * sizeof (arelent)); relocs = (PTR) bfd_alloc (abfd, reloc_size); - if (!relocs) + if (!relocs && reloc_size != 0) { free (reloc_cache); goto nomem; @@ -536,7 +536,7 @@ NAME(lynx,canonicalize_reloc) (abfd, section, relptr, symbols) arelent *tblptr = section->relocation; unsigned int count; - if (!(tblptr || NAME (lynx, slurp_reloc_table) (abfd, section, symbols))) + if (!(tblptr || NAME(lynx,slurp_reloc_table) (abfd, section, symbols))) return -1; if (section->flags & SEC_CONSTRUCTOR) @@ -551,8 +551,6 @@ NAME(lynx,canonicalize_reloc) (abfd, section, relptr, symbols) else { tblptr = section->relocation; - if (!tblptr) - return -1; for (count = 0; count++ < section->reloc_count;) { diff --git a/bfd/mipsbsd.c b/bfd/mipsbsd.c index 5d699aa8570..0b6424dc56c 100644 --- a/bfd/mipsbsd.c +++ b/bfd/mipsbsd.c @@ -303,8 +303,6 @@ MY(canonicalize_reloc)(abfd, section, relptr, symbols) if (!NAME(aout,slurp_reloc_table)(abfd, section, symbols)) return -1; tblptr = section->relocation; - if (!tblptr) - return -1; /* fix up howto entries */ for (count = 0; count++ < section->reloc_count;) diff --git a/bfd/nlmcode.h b/bfd/nlmcode.h index 1ae6cc9ae42..13e43191c8e 100644 --- a/bfd/nlmcode.h +++ b/bfd/nlmcode.h @@ -1050,7 +1050,7 @@ nlm_slurp_reloc_fixups (abfd) count = nlm_fixed_header (abfd)->numberOfRelocationFixups; rels = (arelent *) bfd_alloc (abfd, count * sizeof (arelent)); secs = (asection **) bfd_alloc (abfd, count * sizeof (asection *)); - if (rels == NULL || secs == NULL) + if ((rels == NULL || secs == NULL) && count != 0) { bfd_set_error (bfd_error_no_memory); return false; @@ -1136,8 +1136,6 @@ nlm_canonicalize_reloc (abfd, sec, relptr, symbols) if (nlm_slurp_reloc_fixups (abfd) == false) return -1; rels = nlm_relocation_fixups (abfd); - if (rels == NULL) - return -1; } secs = nlm_relocation_fixup_secs (abfd); diff --git a/bfd/som.c b/bfd/som.c index 63f406af3c1..7c913b1cfa1 100644 --- a/bfd/som.c +++ b/bfd/som.c @@ -4221,8 +4221,6 @@ som_canonicalize_reloc (abfd, section, relptr, symbols) count = section->reloc_count; tblptr = section->relocation; - if (tblptr == (arelent *) NULL) - return -1; while (count--) *relptr++ = tblptr++; -- 2.30.2