[PATCH] dwarf2read.c: Clean up out of bounds handling

Pedro Alves palves@redhat.com
Mon Mar 27 15:06:00 GMT 2017


On 03/24/2017 03:24 PM, Pedro Alves wrote:
> From: Pádraig Brady <pbrady@fb.com>

The above was automatically inserted by git send-email, because
I had messed up the commit's git author locally.  I've fixed it
locally (I'm the author) ...

> 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:
> 	* 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.
> 	(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.

... and pushed to master, after Pádraig confirmed gdb still gracefully
handles the problematic binary:

  https://sourceware.org/ml/gdb-patches/2017-03/msg00451.html

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list