diff options
-rw-r--r-- | src/lib/krb5/ccache/ChangeLog | 6 | ||||
-rw-r--r-- | src/lib/krb5/ccache/cc_file.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/lib/krb5/ccache/ChangeLog b/src/lib/krb5/ccache/ChangeLog index 05e041c8b..d19ccb725 100644 --- a/src/lib/krb5/ccache/ChangeLog +++ b/src/lib/krb5/ccache/ChangeLog @@ -1,3 +1,9 @@ +2004-12-25 Ezra Peisach <epeisach@mit.edu> + + * cc_file.c (krb5_fcc_close): Free the cache id. + (dereference): When removing fcc_set entry from list, free the + pointer as well. + 2004-12-16 Jeffrey Altman <jaltman@mit.edu> * cc_mslsa.c: Temporarily deactivate support for KerbSubmitTicketMessage diff --git a/src/lib/krb5/ccache/cc_file.c b/src/lib/krb5/ccache/cc_file.c index 14e59a146..1eadab688 100644 --- a/src/lib/krb5/ccache/cc_file.c +++ b/src/lib/krb5/ccache/cc_file.c @@ -1486,8 +1486,11 @@ static krb5_error_code dereference(krb5_context context, krb5_fcc_data *data) assert(*fccsp != NULL); (*fccsp)->refcount--; if ((*fccsp)->refcount == 0) { + struct fcc_set *temp; data = (*fccsp)->data; + temp = *fccsp; *fccsp = (*fccsp)->next; + free(temp); k5_mutex_unlock(&krb5int_cc_file_mutex); free(data->filename); zap(data->buf, sizeof(data->buf)); @@ -1517,6 +1520,7 @@ static krb5_error_code KRB5_CALLCONV krb5_fcc_close(krb5_context context, krb5_ccache id) { dereference(context, (krb5_fcc_data *) id->data); + krb5_xfree(id); return KRB5_OK; } |