2011-03-04 Michael Snyder <msnyder@vmware.com>

* cplus-dem.c (ada_demangle): Stop memory leak.
	Also fix a one line indent problem.
This commit is contained in:
Michael Snyder 2011-03-04 18:25:32 +00:00
parent b2c5f112fe
commit 12f23c24fa
2 changed files with 8 additions and 2 deletions

View 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> 2011-02-28 Kai Tietz <kai.tietz@onevision.com>
* filename_cmp.c (filename_ncmp): New function. * filename_cmp.c (filename_ncmp): New function.

View File

@ -883,7 +883,7 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
int len0; int len0;
const char* p; const char* p;
char *d; char *d;
char *demangled; char *demangled = NULL;
/* Discard leading _ada_, which is used for library level subprograms. */ /* Discard leading _ada_, which is used for library level subprograms. */
if (strncmp (mangled, "_ada_", 5) == 0) if (strncmp (mangled, "_ada_", 5) == 0)
@ -1129,10 +1129,11 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
unknown: unknown:
len0 = strlen (mangled); len0 = strlen (mangled);
free (demangled);
demangled = XNEWVEC (char, len0 + 3); demangled = XNEWVEC (char, len0 + 3);
if (mangled[0] == '<') if (mangled[0] == '<')
strcpy (demangled, mangled); strcpy (demangled, mangled);
else else
sprintf (demangled, "<%s>", mangled); sprintf (demangled, "<%s>", mangled);