libiberty: Fix memory leak in ada_demangle when symbol cannot be demangled.
[deliverable/binutils-gdb.git] / libiberty / cplus-dem.c
index f95405062c9eec334f30df3efb1faaba0be90e5c..7f63397f2d447ef9e06e133c33d3931754b6dd1c 100644 (file)
@@ -911,7 +911,7 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
   int len0;
   const char* p;
   char *d;
-  char *demangled;
+  char *demangled = NULL;
   
   /* Discard leading _ada_, which is used for library level subprograms.  */
   if (strncmp (mangled, "_ada_", 5) == 0)
@@ -1156,6 +1156,7 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
   return demangled;
 
  unknown:
+  XDELETEVEC (demangled);
   len0 = strlen (mangled);
   demangled = XNEWVEC (char, len0 + 3);
 
This page took 0.025494 seconds and 4 git commands to generate.