diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 134f41d53e9..640ec8d621c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +1999-10-15 Andrew Haley + + * dwarf1.c (parse_die): Fail to parse a die if its length is zero. + Sun Oct 17 17:19:00 1999 Jeffrey A Law (law@cygnus.com) * libhppa.h (bfd_hppa_insn2fmt): Change to return an int. diff --git a/bfd/dwarf1.c b/bfd/dwarf1.c index 903bfc38ab5..da184cc7058 100644 --- a/bfd/dwarf1.c +++ b/bfd/dwarf1.c @@ -186,6 +186,8 @@ parse_die (abfd, aDieInfo, aDiePtr) /* First comes the length. */ aDieInfo->length = bfd_get_32 (abfd, xptr); xptr += 4; + if (aDieInfo->length == 0) + return false; if (aDieInfo->length < 6) { /* Just padding bytes. */