* cc_file.c (krb5_fcc_close): Free the cache id.
(dereference): When removing fcc_set entry from list, free the
pointer as well.
The first was accidently dropped in the dereference code writing.
The cache id pointer is never freed.
The second error is the removal of the krb5_fcc_data from the linked list.
The fcc_set is removed from the chain, but the memory for the removed fcc_set
is never freed.
ticket:new
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16981
dc483132-0cff-0310-8789-
dd5450dbe970
+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
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));
krb5_fcc_close(krb5_context context, krb5_ccache id)
{
dereference(context, (krb5_fcc_data *) id->data);
+ krb5_xfree(id);
return KRB5_OK;
}