aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1997-12-10 06:30:04 +0000
committerAndrew Cagney <cagney@redhat.com>1997-12-10 06:30:04 +0000
commit760410e55a930d20c5800b09f5c468a7a8f5279d (patch)
tree440b25f0297bb543c0290e9dcf4218fc3f61517f /gdb
parent27be012212cccbdeda56117a31b8cb84c8a42094 (diff)
downloadgdb-760410e55a930d20c5800b09f5c468a7a8f5279d.zip
gdb-760410e55a930d20c5800b09f5c468a7a8f5279d.tar.gz
gdb-760410e55a930d20c5800b09f5c468a7a8f5279d.tar.bz2
* dwarf2read.c (dwarf2_build_psymtabs_hard): Check cu_header.length is
within dwarf_info_buffer not dwarf_abbrev_buffer.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/dwarf2read.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 066b651..fcc3623 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+Wed Dec 10 15:54:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * dwarf2read.c (dwarf2_build_psymtabs_hard): Check
+ cu_header.length is within dwarf_info_buffer not
+ dwarf_abbrev_buffer.
+
Mon Dec 8 15:51:45 1997 Keith Seitz <keiths@onions.cygnus.com>
* gdbtk.c (gdb_get_tracepoint_info): use info in struct
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index e12953d..614ba92 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -937,9 +937,10 @@ dwarf2_build_psymtabs_hard (objfile, section_offsets, mainline)
error ("Dwarf Error: bad offset in compilation unit header.");
return;
}
- if (cu_header.length > dwarf_abbrev_size - cu_header.abbrev_offset)
+ if (beg_of_comp_unit + cu_header.length + 4
+ >= dwarf_info_buffer + dwarf_info_size)
{
- error ("Dwarf Error: bad length in compilation unit header.");
+ error ("Dwarf Error: bad length in compilation unit header.");
return;
}