]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/binutils-tumbl.git/commitdiff
2011-03-04 Michael Snyder <msnyder@vmware.com>
authorMichael Snyder <msnyder@vmware.com>
Fri, 4 Mar 2011 18:25:32 +0000 (18:25 +0000)
committerMichael Snyder <msnyder@vmware.com>
Fri, 4 Mar 2011 18:25:32 +0000 (18:25 +0000)
* cplus-dem.c (ada_demangle): Stop memory leak.
Also fix a one line indent problem.

libiberty/ChangeLog
libiberty/cplus-dem.c

index dc926382a8eaef38a8cd0e79c03d7733fdf189bc..2c1252f4c381610f9a93082a4ca325428a032824 100644 (file)
@@ -1,3 +1,8 @@
+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 84f94b6a8de6a387da3ca012815a6243458e1d56..6cd9a414f76714444d94d7175037af6e36a1c5f5 100644 (file)
@@ -883,7 +883,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)
@@ -1129,10 +1129,11 @@ 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);