aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2008-10-24 18:21:00 +0000
committerDoug Evans <dje@google.com>2008-10-24 18:21:00 +0000
commit6dd47d34c678c3aa6eea973f2ba461f4b595668c (patch)
treed6c8f2ab18362d9de0e8ec489f7c28b677c9048e
parentfff08868842909b8dda5539656727196f812f7b1 (diff)
downloadgdb-6dd47d34c678c3aa6eea973f2ba461f4b595668c.zip
gdb-6dd47d34c678c3aa6eea973f2ba461f4b595668c.tar.gz
gdb-6dd47d34c678c3aa6eea973f2ba461f4b595668c.tar.bz2
* dwarf2read.c (typename_concat): Don't segv if prefix or suffix
is NULL. Simplify obs == NULL case.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2read.c18
2 files changed, 13 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ff4264b..183322d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-24 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (typename_concat): Don't segv if prefix or suffix
+ is NULL. Simplify obs == NULL case.
+
2008-10-24 Hui Zhu <teawater@gmail.com>
Pedro Alves <pedro@codesourcery.com>
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 840077c..ba863fe 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -8081,19 +8081,17 @@ typename_concat (struct obstack *obs, const char *prefix, const char *suffix,
else
sep = "::";
+ if (prefix == NULL)
+ prefix = "";
+ if (suffix == NULL)
+ suffix = "";
+
if (obs == NULL)
{
char *retval = xmalloc (strlen (prefix) + MAX_SEP_LEN + strlen (suffix) + 1);
- retval[0] = '\0';
-
- if (prefix)
- {
- strcpy (retval, prefix);
- strcat (retval, sep);
- }
- if (suffix)
- strcat (retval, suffix);
-
+ strcpy (retval, prefix);
+ strcat (retval, sep);
+ strcat (retval, suffix);
return retval;
}
else