2001-11-02 H.J. Lu (hjl@gnu.org)
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 2 Nov 2001 15:47:24 +0000 (15:47 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 2 Nov 2001 15:47:24 +0000 (15:47 +0000)
* coffgen.c (coff_object_p): Return 0 if the header is too big.

bfd/ChangeLog
bfd/coffgen.c

index f18998c09037ea271b44dbdfd75f1ed2198b0a3b..f521ff7cfa6ac1b150c2ee988f31e57695c03af1 100644 (file)
@@ -1,3 +1,7 @@
+2001-11-02  H.J. Lu  (hjl@gnu.org)
+
+       * coffgen.c (coff_object_p): Return 0 if the header is too big.
+
 2001-11-02  Hans-Peter Nilsson  <hp@axis.com>
 
        * elfcore.h (elf_core_file_p): Preserve and clear abfd section
index 4957c141f6b4ca3938d86f68ce082fe35f304d32..2ae435b2dcd1a6f6a459d89b7978c8b4e6c2ea5d 100644 (file)
@@ -280,7 +280,8 @@ coff_object_p (abfd)
   bfd_coff_swap_filehdr_in (abfd, filehdr, &internal_f);
   bfd_release (abfd, filehdr);
 
-  if (bfd_coff_bad_format_hook (abfd, &internal_f) == false)
+  if (bfd_coff_bad_format_hook (abfd, &internal_f) == false
+      || internal_f.f_opthdr > aoutsz)
     {
       bfd_set_error (bfd_error_wrong_format);
       return 0;