aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libiberty/ChangeLog5
-rw-r--r--libiberty/cp-demangle.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index f46fe05..ef17410 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,8 @@
+2009-01-06 Ben Elliston <bje@au.ibm.com>
+
+ * cp-demangle.c (cplus_demangle_type): Return NULL if the
+ character following a 'D' cannot be recognised.
+
2008-12-18 Jason Merrill <jason@redhat.com>
PR c++/38561
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 5ae04c0..aa36db6 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -2131,6 +2131,9 @@ cplus_demangle_type (struct d_info *di)
peek = d_next_char (di);
ret->u.s_fixed.sat = (peek == 's');
break;
+
+ default:
+ return NULL;
}
break;