From: Tom Tromey Date: Tue, 3 Feb 2009 19:20:02 +0000 (+0000) Subject: * completer.c (add_struct_fields): Check type_name against NULL X-Git-Tag: sid-snapshot-20090301~217 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b32d97f3d2c35e217053a0b1cf77e735fc73b7a0;p=thirdparty%2Fbinutils-gdb.git * completer.c (add_struct_fields): Check type_name against NULL before use. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index db38fec64a7..0f575512c7b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2009-02-03 Tom Tromey + + * completer.c (add_struct_fields): Check type_name against NULL + before use. + 2009-02-03 Joel Brobecker * MAINTAINERS: Update Elena's email address. diff --git a/gdb/completer.c b/gdb/completer.c index 5d7225fdcbc..298cdd07f2d 100644 --- a/gdb/completer.c +++ b/gdb/completer.c @@ -371,6 +371,7 @@ add_struct_fields (struct type *type, int *nextp, char **output, char *fieldname, int namelen) { int i; + int computed_type_name = 0; char *type_name = NULL; CHECK_TYPEDEF (type); @@ -392,10 +393,13 @@ add_struct_fields (struct type *type, int *nextp, char **output, char *name = TYPE_FN_FIELDLIST_NAME (type, i); if (name && ! strncmp (name, fieldname, namelen)) { - if (!type_name) - type_name = type_name_no_tag (type); + if (!computed_type_name) + { + type_name = type_name_no_tag (type); + computed_type_name = 1; + } /* Omit constructors from the completion list. */ - if (strcmp (type_name, name)) + if (type_name && strcmp (type_name, name)) { output[*nextp] = xstrdup (name); ++*nextp;