http://sourceware.org/ml/gdb-cvs/2010-09/msg00063.html ### src/gdb/ChangeLog 2010/09/08 19:49:28 1.12163 ### src/gdb/ChangeLog 2010/09/08 23:14:52 1.12164 ## -1,3 +1,8 @@ +2010-09-08 Daniel Jacobowitz + + * dwarf2read.c (read_func_scope, read_structure_type) + (read_common_block): Check for a NULL return from new_symbol. + 2010-09-08 Jan Kratochvil * dwarf2read.c (dwarf2_read_index): Return on no SEC_HAS_CONTENTS. Index: gdb-7.2/gdb/dwarf2read.c =================================================================== --- gdb-7.2.orig/gdb/dwarf2read.c 2011-01-01 17:47:52.000000000 +0100 +++ gdb-7.2/gdb/dwarf2read.c 2011-01-01 17:48:35.000000000 +0100 @@ -5243,7 +5243,8 @@ read_func_scope (struct die_info *die, s { struct symbol *arg = new_symbol (child_die, NULL, cu); - VEC_safe_push (symbolp, template_args, arg); + if (arg != NULL) + VEC_safe_push (symbolp, template_args, arg); } else process_die (child_die, cu); @@ -6558,7 +6559,8 @@ read_structure_type (struct die_info *di { struct symbol *arg = new_symbol (child_die, NULL, cu); - VEC_safe_push (symbolp, template_args, arg); + if (arg != NULL) + VEC_safe_push (symbolp, template_args, arg); } child_die = sibling_die (child_die); @@ -7104,7 +7106,7 @@ read_common_block (struct die_info *die, /* Undocumented in DWARF3, when it can be present? */ attr = dwarf2_attr (child_die, DW_AT_data_member_location, cu); - if (attr) + if (sym != NULL && attr != NULL) { CORE_ADDR byte_offset = 0;