[PATCH 04/13] gdb/dwarf: remove unnecessary check in read_{rng, loc}list_index

Simon Marchi via Gdb-patches
2021-01-20T05:39:40Z

From: Simon Marchi <simon.marchi@efficios.com>

In read_rnglist_index and read_loclist_index, we check that both the
start and end of the offset that we read from the offset table are
within the section. I think it's unecessary to do both: if the end of
the offset is within the section, then surely the start of the offset is
within it.

Remove the check for the start of the offset in both functions.

gdb/ChangeLog:

* dwarf2/read.c (read_loclist_index): Remove bound check for
start of offset.
(read_rnglist_index): Likewise.

Change-Id: I7b57ddf4f8a8a28971738f0e3f3af62108f9e19a
---
gdb/dwarf2/read.c | 11 -----------
1 file changed, 11 deletions(-)

diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 848c15330435..76044187bf76 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -20205,11 +20205,6 @@ read_loclist_index (struct dwarf2_cu *cu, ULONGEST loclist_index)
".debug_loclists offset array [in module %s]"),
objfile_name (objfile));

- if (start_offset >= section->size)
- error (_("DW_FORM_loclistx pointing outside of "
- ".debug_loclists section [in module %s]"),
- objfile_name (objfile));
-
/* Validate that reading won't go beyond the end of the section. */
if (start_offset + cu->header.offset_size > section->size)
error (_("Reading DW_FORM_loclistx index beyond end of"
@@ -20261,12 +20256,6 @@ read_rnglist_index (struct dwarf2_cu *cu, ULONGEST rnglist_index,
".debug_rnglists offset array [in module %s]"),
objfile_name (objfile));

- /* Validate that the offset is within the section's range. */
- if (start_offset >= section->size)
- error (_("DW_FORM_rnglistx pointing outside of "
- ".debug_rnglists section [in module %s]"),
- objfile_name (objfile));
-
/* Validate that reading won't go beyond the end of the section. */
if (start_offset + cu->header.offset_size > section->size)
error (_("Reading DW_FORM_rnglistx index beyond end of"
--
2.30.0