diff options
author | Alan Modra <amodra@gmail.com> | 2015-02-15 19:02:46 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-02-15 19:07:03 +1030 |
commit | 62f8d21784db0dd5f8e3717290bff32bd824cf2f (patch) | |
tree | caea8cbff119a6346793c3e3f95c624908e7633e /bfd | |
parent | deef1eedc13aa322abdb1d76cdc3fcf6ab3b70cd (diff) | |
download | gdb-62f8d21784db0dd5f8e3717290bff32bd824cf2f.zip gdb-62f8d21784db0dd5f8e3717290bff32bd824cf2f.tar.gz gdb-62f8d21784db0dd5f8e3717290bff32bd824cf2f.tar.bz2 |
fix dbb3fbbb dwarf2.c breakage
m68hc11-elf +FAIL: 68HC12 indexed addressing mode with 5, 9 and 16-bit offsets (indexed12)
m68hc12-elf +FAIL: 68HC12 indexed addressing mode with 5, 9 and 16-bit offsets (indexed12)
* dwarf2.c (read_rangelist): Correct buffer overflow check
Whitespace throughout file.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/dwarf2.c | 24 |
2 files changed, 17 insertions, 12 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9f6fb27..fa3d7ea 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2015-02-15 Alan Modra <amodra@gmail.com> + + * dwarf2.c (read_rangelist): Correct buffer overflow check + Whitespace throughout file. + 2015-02-14 Alan Modra <amodra@gmail.com> PR ld/17973 diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index d884312..0a5d1ce 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -669,7 +669,7 @@ read_indirect_string (struct comp_unit * unit, * bytes_read_ptr = 0; return NULL; } - + if (unit->offset_size == 4) offset = read_4_bytes (unit->abfd, buf, buf_end); else @@ -709,7 +709,7 @@ read_alt_indirect_string (struct comp_unit * unit, * bytes_read_ptr = 0; return NULL; } - + if (unit->offset_size == 4) offset = read_4_bytes (unit->abfd, buf, buf_end); else @@ -737,7 +737,7 @@ read_alt_indirect_string (struct comp_unit * unit, } stash->alt_bfd_ptr = debug_bfd; } - + if (! read_section (unit->stash->alt_bfd_ptr, stash->debug_sections + debug_str_alt, NULL, /* FIXME: Do we need to load alternate symbols ? */ @@ -785,7 +785,7 @@ read_alt_indirect_ref (struct comp_unit * unit, } stash->alt_bfd_ptr = debug_bfd; } - + if (! read_section (unit->stash->alt_bfd_ptr, stash->debug_sections + debug_info_alt, NULL, /* FIXME: Do we need to load alternate symbols ? */ @@ -1722,9 +1722,9 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) bfd_set_error (bfd_error_bad_value); return NULL; } - + line_end = line_ptr + lh.total_length; - + lh.version = read_2_bytes (abfd, line_ptr, line_end); if (lh.version < 2 || lh.version > 4) { @@ -1786,7 +1786,7 @@ decode_line_info (struct comp_unit *unit, struct dwarf2_debug *stash) bfd_set_error (bfd_error_bad_value); return NULL; } - + amt = lh.opcode_base * sizeof (unsigned char); lh.standard_opcode_lengths = (unsigned char *) bfd_alloc (abfd, amt); @@ -2414,14 +2414,14 @@ read_rangelist (struct comp_unit *unit, struct arange *arange, if (ranges_ptr < unit->stash->dwarf_ranges_buffer) return FALSE; ranges_end = unit->stash->dwarf_ranges_buffer + unit->stash->dwarf_ranges_size; - + for (;;) { bfd_vma low_pc; bfd_vma high_pc; /* PR 17512: file: 62cada7d. */ - if (ranges_ptr + 2 * unit->addr_size >= ranges_end) + if (ranges_ptr + 2 * unit->addr_size > ranges_end) return FALSE; low_pc = read_address (unit, ranges_ptr, ranges_end); @@ -2481,7 +2481,7 @@ scan_unit_for_symbols (struct comp_unit *unit) /* PR 17512: file: 9f405d9d. */ if (info_ptr >= info_ptr_end) goto fail; - + abbrev_number = safe_read_leb128 (abfd, info_ptr, &bytes_read, FALSE, info_ptr_end); info_ptr += bytes_read; @@ -4028,9 +4028,9 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd, found = FALSE; break; } - else + else stash->info_ptr = new_ptr; - + if (stash->all_comp_units) stash->all_comp_units->prev_unit = each; else |