merge from gcc
authorDJ Delorie <dj@redhat.com>
Fri, 25 Mar 2011 16:38:27 +0000 (16:38 +0000)
committerDJ Delorie <dj@redhat.com>
Fri, 25 Mar 2011 16:38:27 +0000 (16:38 +0000)
libiberty/ChangeLog
libiberty/cplus-dem.c

index 2c1252f4c381610f9a93082a4ca325428a032824..dc926382a8eaef38a8cd0e79c03d7733fdf189bc 100644 (file)
@@ -1,8 +1,3 @@
-2011-03-04  Michael Snyder  <msnyder@vmware.com>
-
-       * cplus-dem.c (ada_demangle): Stop memory leak.
-       Also fix a one line indent problem.
-
 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
 
        * filename_cmp.c (filename_ncmp): New function.
index 6cd9a414f76714444d94d7175037af6e36a1c5f5..84f94b6a8de6a387da3ca012815a6243458e1d56 100644 (file)
@@ -883,7 +883,7 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
   int len0;
   const char* p;
   char *d;
-  char *demangled = NULL;
+  char *demangled;
   
   /* Discard leading _ada_, which is used for library level subprograms.  */
   if (strncmp (mangled, "_ada_", 5) == 0)
@@ -1129,11 +1129,10 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
 
  unknown:
   len0 = strlen (mangled);
-  free (demangled);
   demangled = XNEWVEC (char, len0 + 3);
 
   if (mangled[0] == '<')
-    strcpy (demangled, mangled);
+     strcpy (demangled, mangled);
   else
     sprintf (demangled, "<%s>", mangled);