From: DJ Delorie Date: Fri, 25 Mar 2011 16:38:27 +0000 (+0000) Subject: merge from gcc X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=d0f0b69d106989973b8924276a7c48f75b716258;p=deliverable%2Fbinutils-gdb.git merge from gcc --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 2c1252f4c3..dc926382a8 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,8 +1,3 @@ -2011-03-04 Michael Snyder - - * cplus-dem.c (ada_demangle): Stop memory leak. - Also fix a one line indent problem. - 2011-02-28 Kai Tietz * filename_cmp.c (filename_ncmp): New function. diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 6cd9a414f7..84f94b6a8d 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -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);