dwarf2read.c: Clean up out of bounds handling
authorPedro Alves <palves@redhat.com>
Mon, 27 Mar 2017 14:57:19 +0000 (15:57 +0100)
committerPedro Alves <palves@redhat.com>
Mon, 27 Mar 2017 14:57:19 +0000 (15:57 +0100)
commit8c43009f48a0d4be497cf7c1285784aa70fc5abd
tree8fb67ece7ebff4e95eeb9cb56a9bc55c2924f8fd
parenta7e80b9e21eb907ac5c90de7452588c059db0cec
dwarf2read.c: Clean up out of bounds handling

Multiple places in dwarf2read.c open code 1-based to 0-based index
conversion and check for out of bounds accesses to lh->include_dirs
and lh->file_names.  This commit factors those out to a couple methods
and uses them throughout.

gdb/ChangeLog:
2017-03-27  Pedro Alves  <palves@redhat.com>

* dwarf2read.c (file_entry) <dir_index>: Add comment.
(file_entry::include_dir): New method.
(line_header::include_dir_at, line_header::file_name_at): New
methods.
(setup_type_unit_groups, setup_type_unit_groups)
(psymtab_include_file_name): Simplify using the new methods.
(lnp_state_machine) <the_line_header>: New field.
<file>: Add comment.
(lnp_state_machine::current_file): New method.
(dwarf_record_line): Simplify using the new methods.
(init_lnp_state_machine): Initialize the "the_line_header" field.
(dwarf_decode_lines_1, dwarf_decode_lines, file_file_name):
Simplify using the new methods.
gdb/ChangeLog
gdb/dwarf2read.c