diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/ChangeLog | 5 | ||||
-rw-r--r-- | cpukit/libcsupport/src/gxx_wrappers.c | 3 |
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; } |