summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/ChangeLog5
-rw-r--r--cpukit/libcsupport/src/gxx_wrappers.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 1357649e2c..3cb39246ea 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-25 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * libcsupport/src/gxx_wrappers.c: Free contents of key not key itself.
+ Kye pointer will never be malloc'ed.
+
2010-07-24 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/Makefile.am, libcsupport/src/termios_baud2num.c,
diff --git a/cpukit/libcsupport/src/gxx_wrappers.c b/cpukit/libcsupport/src/gxx_wrappers.c
index 242b739b03..924b506831 100644
--- a/cpukit/libcsupport/src/gxx_wrappers.c
+++ b/cpukit/libcsupport/src/gxx_wrappers.c
@@ -122,9 +122,10 @@ int rtems_gxx_key_delete (__gthread_key_t key)
status = rtems_task_variable_delete( RTEMS_SELF, (void **)key );
if ( status == RTEMS_SUCCESSFUL ) {
/* Hmm - hopefully all tasks using this key have gone away... */
- if ( key ) free( (void *)key );
+ if ( key ) free( *(void **)key );
return 0;
}
+ key = NULL;
return 0;
}