From b3681d67e43b07454eeb8b23030ea84012929ac9 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Sun, 18 Sep 2011 16:50:17 +0000 Subject: [PATCH] Check zero address size. 2011-09-18 H.J. Lu PR binutils/13196 * dwarf.c (display_debug_aranges): Check zero address size. --- binutils/ChangeLog | 5 +++++ binutils/dwarf.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 144dbffafcc..8af899b8d15 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2011-09-18 H.J. Lu + + PR binutils/13196 + * dwarf.c (display_debug_aranges): Check zero address size. + 2011-09-15 H.J. Lu PR binutils/13180 diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 776f775421b..1ee0e336c1a 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -4215,6 +4215,13 @@ display_debug_aranges (struct dwarf_section *section, address_size = arange.ar_pointer_size + arange.ar_segment_size; + if (address_size == 0) + { + error (_("Invalid address size in %s section!\n"), + section->name); + break; + } + /* The DWARF spec does not require that the address size be a power of two, but we do. This will have to change if we ever encounter an uneven architecture. */ -- 2.30.2