From: H.J. Lu Date: Fri, 2 Nov 2001 15:47:24 +0000 (+0000) Subject: 2001-11-02 H.J. Lu (hjl@gnu.org) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=95f7d9f7b7f3def3c1f96cfc6077668d3d8bb5b4;p=binutils-gdb.git 2001-11-02 H.J. Lu (hjl@gnu.org) * coffgen.c (coff_object_p): Return 0 if the header is too big. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f18998c0903..f521ff7cfa6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 * elfcore.h (elf_core_file_p): Preserve and clear abfd section diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 4957c141f6b..2ae435b2dcd 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -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;