2007-07-27 Michael Snyder <msnyder@access-company.com>
authorMichael Snyder <msnyder@vmware.com>
Fri, 27 Jul 2007 18:50:18 +0000 (18:50 +0000)
committerMichael Snyder <msnyder@vmware.com>
Fri, 27 Jul 2007 18:50:18 +0000 (18:50 +0000)
* elf32-i386.c (elf_i386_check_relocs): Check for null pointer.

bfd/ChangeLog
bfd/elf32-i386.c

index d8d658682b82d4516b5f7af94a788795548b9d5c..ef6e817cc2b958f73072916ec43994e5d2767287 100644 (file)
@@ -1,3 +1,7 @@
+2007-07-27  Michael Snyder  <msnyder@access-company.com>
+
+       * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
+
 2007-07-27  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
        (elf32_arm_final_link_relocate): Turn call to undefined symbol
        into a jump to the next instruction.
 
-2007-06-29  Michael Snyder  <msnyder@svkmacdonelllnx>
+2007-06-29  Michael Snyder  <msnyder@access-company.com>
 
        * bfd.c (bfd_demangle): Plug memory leak (Coverity).
 
index abac6b2d10a974fcd5e427f2691f9fa6b01dd6d3..c50e98d92bf357d76cc7a30b0caa12d4295e212a 100644 (file)
@@ -1270,14 +1270,18 @@ elf_i386_check_relocs (bfd *abfd,
          /* This relocation describes the C++ object vtable hierarchy.
             Reconstruct it for later use during GC.  */
        case R_386_GNU_VTINHERIT:
-         if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
+         BFD_ASSERT (h != NULL);
+         if (h != NULL
+             && !bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
            return FALSE;
          break;
 
          /* This relocation describes which C++ vtable entries are actually
             used.  Record for later use during GC.  */
        case R_386_GNU_VTENTRY:
-         if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
+         BFD_ASSERT (h != NULL);
+         if (h != NULL
+             && !bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_offset))
            return FALSE;
          break;