gdb/dwarf2read.c: Sanity check DW_AT_sibling values.
authorWill Newton <will.newton@linaro.org>
Fri, 1 Nov 2013 21:14:50 +0000 (14:14 -0700)
committerWill Newton <will.newton@linaro.org>
Wed, 6 Nov 2013 15:15:12 +0000 (15:15 +0000)
commitb9502d3fd7848cd4d843be8bdc28633a3d24438d
tree8160e3a77056ebca0faeb0aa6893b826d6da8441
parent452a569eff947a21369d43cc7632c320e5b8a085
gdb/dwarf2read.c: Sanity check DW_AT_sibling values.

When reading objects with corrupt debug information it is possible that
the sibling chain can form a loop, which leads to an infinite loop and
memory exhaustion.

Avoid this situation by disregarding and DW_AT_sibling values that point
to a lower address than the current entry.

gdb/ChangeLog:

2013-11-06  Will Newton  <will.newton@linaro.org>

PR gdb/12866
* dwarf2read.c (skip_one_die): Sanity check DW_AT_sibling
values.  (read_partial_die): Likewise.
gdb/ChangeLog
gdb/dwarf2read.c