From 95f7d9f7b7f3def3c1f96cfc6077668d3d8bb5b4 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 2 Nov 2001 15:47:24 +0000 Subject: [PATCH] 2001-11-02 H.J. Lu (hjl@gnu.org) * coffgen.c (coff_object_p): Return 0 if the header is too big. --- bfd/ChangeLog | 4 ++++ bfd/coffgen.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f18998c..f521ff7 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 4957c14..2ae435b 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; -- 2.7.4