+2000-12-05 Jason Merrill <jason@redhat.com>
+
+ * cp-demangle.c (cplus_demangle_v3): Check that it's a v3 mangled
+ name before allocating the dyn_string.
+
2000-12-05 Jason Merrill <jason@redhat.com>
* cp-demangle.c: s/new_abi/v3/.
cplus_demangle_v3 (mangled)
const char* mangled;
{
+ dyn_string_t demangled;
+ status_t status;
+
+ /* If this isn't a mangled name, don't pretend to demangle it. */
+ if (strncmp (mangled, "_Z", 2) != 0)
+ return NULL;
+
/* Create a dyn_string to hold the demangled name. */
- dyn_string_t demangled = dyn_string_new (0);
+ demangled = dyn_string_new (0);
/* Attempt the demangling. */
- status_t status = cp_demangle ((char *) mangled, demangled);
+ status = cp_demangle ((char *) mangled, demangled);
+
if (STATUS_NO_ERROR (status))
/* Demangling succeeded. */
{