diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index afa8c6b3bd90..b24fb4fc9e20 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2009-09-23 Matthew Gingell + + * cplus-dem.c (ada_demangle): Ensure demangled is freed. + 2009-09-22 Ozkan Sezer * choose-temp.c: Include unistd.h for mingw targets. diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 416746753660..66285141ffa2 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -984,7 +984,10 @@ ada_demangle (const char *mangled, int option ATTRIBUTE_UNUSED) goto Suppress; if (! changed) - return NULL; + { + free (demangled); + return NULL; + } else return demangled;