OSDN Git Service

* cp-demangle.c (cplus_demangle_type): Return NULL if the
authorbje <bje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jan 2009 22:14:16 +0000 (22:14 +0000)
committerbje <bje@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jan 2009 22:14:16 +0000 (22:14 +0000)
character following a 'D' cannot be recognised.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143098 138bc75d-0d04-0410-961f-82ee72b054a4

libiberty/ChangeLog
libiberty/cp-demangle.c

index f46fe05..ef17410 100644 (file)
@@ -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
 2008-12-18  Jason Merrill  <jason@redhat.com>
 
        PR c++/38561
index 5ae04c0..aa36db6 100644 (file)
@@ -2131,6 +2131,9 @@ cplus_demangle_type (struct d_info *di)
          peek = d_next_char (di);
          ret->u.s_fixed.sat = (peek == 's');
          break;
          peek = d_next_char (di);
          ret->u.s_fixed.sat = (peek == 's');
          break;
+
+       default:
+         return NULL;
        }
       break;
 
        }
       break;