summaryrefslogtreecommitdiff
path: root/binutils/dwarf.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2011-09-18 16:50:16 +0000
committerH.J. Lu <hjl.tools@gmail.com>2011-09-18 16:50:16 +0000
commitf61f1d0c090bb7996bee0d9d4c9c8d77015a644c (patch)
tree60de62ea7f1bbf5302a0442dfc85b447b26dc122 /binutils/dwarf.c
parentf18dd8fbf4fd49102e983ed4fdf1e7fc11d5d359 (diff)
downloadbinutils-redhat-f61f1d0c090bb7996bee0d9d4c9c8d77015a644c.tar.gz
Check zero address size.
2011-09-18 H.J. Lu <hongjiu.lu@intel.com> PR binutils/13196 * dwarf.c (display_debug_aranges): Check zero address size.
Diffstat (limited to 'binutils/dwarf.c')
-rw-r--r--binutils/dwarf.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 776f775421..1ee0e336c1 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. */