PR22201, DW_AT_name with out of bounds reference

DW_AT_name ought to always have a string value.

	PR 22201
	* dwarf2.c (scan_unit_for_symbols): Ignore DW_AT_name unless it
	has string form.
	(parse_comp_unit): Likewise.
This commit is contained in:
Alan Modra
2017-09-25 19:46:34 +09:30
parent c361faae8d
commit 11855d8a1f
2 changed files with 11 additions and 2 deletions

View File

@@ -3225,7 +3225,8 @@ scan_unit_for_symbols (struct comp_unit *unit)
switch (attr.name)
{
case DW_AT_name:
var->name = attr.u.str;
if (is_str_attr (attr.form))
var->name = attr.u.str;
break;
case DW_AT_decl_file:
@@ -3477,7 +3478,8 @@ parse_comp_unit (struct dwarf2_debug *stash,
break;
case DW_AT_name:
unit->name = attr.u.str;
if (is_str_attr (attr.form))
unit->name = attr.u.str;
break;
case DW_AT_low_pc: