X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=util_cred.c;h=d6d8f5199e0b7dfb3d3ebb6bdd7eefff487b1e21;hb=6fd9f5a521f9efa7cb9dd43f90ae8f33c83c66e1;hp=ab24151cf3155a041cfc5677d4de8268c4c331cd;hpb=bc5d85d5857186ac7fbb0a30b6d432a2ea2c3036;p=mech_eap.orig diff --git a/util_cred.c b/util_cred.c index ab24151..d6d8f51 100644 --- a/util_cred.c +++ b/util_cred.c @@ -63,11 +63,14 @@ gssEapReleaseCred(OM_uint32 *minor, gss_cred_id_t *pCred) { OM_uint32 tmpMinor; gss_cred_id_t cred = *pCred; + krb5_context krbContext = NULL; if (cred == GSS_C_NO_CREDENTIAL) { return GSS_S_COMPLETE; } + GSSEAP_KRB_INIT(&krbContext); + gssEapReleaseName(&tmpMinor, &cred->name); if (cred->password.value != NULL) { @@ -76,7 +79,10 @@ gssEapReleaseCred(OM_uint32 *minor, gss_cred_id_t *pCred) } if (cred->radiusConfigFile != NULL) - free(cred->radiusConfigFile); + GSSEAP_FREE(cred->radiusConfigFile); + + if (cred->krbCredCache != NULL) + krb5_cc_destroy(krbContext, cred->krbCredCache); GSSEAP_MUTEX_DESTROY(&cred->mutex); memset(cred, 0, sizeof(*cred));