aboutsummaryrefslogtreecommitdiff
path: root/libiberty
diff options
context:
space:
mode:
authorMatthew Gingell <gingell@adacore.com>2009-09-23 08:08:40 +0000
committerTristan Gingold <gingold@gcc.gnu.org>2009-09-23 08:08:40 +0000
commit30b639a8453177e071582d070321627a10291427 (patch)
treec47cc305c00ae57d028f93dcaa770c3a8c5590e9 /libiberty
parent457ff6a1d01865e2134912402a674d30ec898d76 (diff)
downloadgcc-30b639a8453177e071582d070321627a10291427.zip
gcc-30b639a8453177e071582d070321627a10291427.tar.gz
gcc-30b639a8453177e071582d070321627a10291427.tar.bz2
cplus-dem.c (ada_demangle): Ensure demangled is freed.
2009-09-23 Matthew Gingell <gingell@adacore.com> * cplus-dem.c (ada_demangle): Ensure demangled is freed. From-SVN: r152060
Diffstat (limited to 'libiberty')
-rw-r--r--libiberty/ChangeLog4
-rw-r--r--libiberty/cplus-dem.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index afa8c6b..b24fb4f 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,7 @@
+2009-09-23 Matthew Gingell <gingell@adacore.com>
+
+ * cplus-dem.c (ada_demangle): Ensure demangled is freed.
+
2009-09-22 Ozkan Sezer <sezeroz@gmail.com>
* choose-temp.c: Include unistd.h for mingw targets.
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index 4167467..6628514 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;