diff options
author | Tom Tromey <tromey@redhat.com> | 2009-02-03 19:20:02 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2009-02-03 19:20:02 +0000 |
commit | b32d97f3d2c35e217053a0b1cf77e735fc73b7a0 (patch) | |
tree | 17c81ccccb0017f15f7f73328e4780e387b9cce7 /gdb/completer.c | |
parent | 692263b89b92b2a951281900e5328d087944b16a (diff) | |
download | gdb-b32d97f3d2c35e217053a0b1cf77e735fc73b7a0.zip gdb-b32d97f3d2c35e217053a0b1cf77e735fc73b7a0.tar.gz gdb-b32d97f3d2c35e217053a0b1cf77e735fc73b7a0.tar.bz2 |
* completer.c (add_struct_fields): Check type_name against NULL
before use.
Diffstat (limited to 'gdb/completer.c')
-rw-r--r-- | gdb/completer.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/completer.c b/gdb/completer.c index 5d7225f..298cdd0 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; |