summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cpukit/ChangeLog5
-rw-r--r--cpukit/libcsupport/src/gxx_wrappers.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 0710fbd695..45bba6f4e3 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,5 +1,10 @@
2010-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
+ PR 1717/cpukit
+ * libcsupport/src/gxx_wrappers.c: Free memory on error.
+
+2010-11-16 Joel Sherrill <joel.sherrill@oarcorp.com>
+
* libmisc/monitor/mon-monitor.c: Move node code into multiprocessing
ifdef.
diff --git a/cpukit/libcsupport/src/gxx_wrappers.c b/cpukit/libcsupport/src/gxx_wrappers.c
index 9bd33e29e2..e3d300a9f2 100644
--- a/cpukit/libcsupport/src/gxx_wrappers.c
+++ b/cpukit/libcsupport/src/gxx_wrappers.c
@@ -80,6 +80,8 @@ int rtems_gxx_key_create (__gthread_key_t *key, void (*dtor) (void *))
status = rtems_task_variable_add( RTEMS_SELF, (void **)new_key, dtor );
if ( status == RTEMS_SUCCESSFUL )
return 0;
+
+ free( new_key );
return -1;
}