if ((cred_usage != GSS_C_INITIATE) &&
(cred_usage != GSS_C_ACCEPT) &&
(cred_usage != GSS_C_BOTH)) {
+ k5_mutex_destroy(&cred->lock);
xfree(cred);
*minor_status = (OM_uint32) G_BAD_USAGE;
krb5_free_context(context);
!= GSS_S_COMPLETE) {
if (cred->princ)
krb5_free_principal(context, cred->princ);
- xfree(cred);
+ k5_mutex_destroy(&cred->lock);
+ xfree(cred);
/* minor_status set by acquire_accept_cred() */
krb5_free_context(context);
return(ret);
krb5_kt_close(context, cred->keytab);
if (cred->princ)
krb5_free_principal(context, cred->princ);
- xfree(cred);
+ k5_mutex_destroy(&cred->lock);
+ xfree(cred);
/* minor_status set by acquire_init_cred() */
krb5_free_context(context);
return(ret);
(void)krb5_cc_close(context, cred->ccache);
if (cred->keytab)
(void)krb5_kt_close(context, cred->keytab);
- xfree(cred);
+ k5_mutex_destroy(&cred->lock);
+ xfree(cred);
*minor_status = code;
krb5_free_context(context);
return(GSS_S_FAILURE);
(void)krb5_kt_close(context, cred->keytab);
if (cred->princ)
krb5_free_principal(context, cred->princ);
- xfree(cred);
+ k5_mutex_destroy(&cred->lock);
+ xfree(cred);
*minor_status = code;
krb5_free_context(context);
return(GSS_S_FAILURE);
(void)krb5_kt_close(context, cred->keytab);
if (cred->princ)
krb5_free_principal(context, cred->princ);
+ k5_mutex_destroy(&cred->lock);
xfree(cred);
/* *minor_status set above */
krb5_free_context(context);
(void)krb5_kt_close(context, cred->keytab);
if (cred->princ)
krb5_free_principal(context, cred->princ);
+ k5_mutex_destroy(&cred->lock);
xfree(cred);
*minor_status = (OM_uint32) G_VALIDATE_FAILED;
krb5_free_context(context);
if (err) {
k5_mutex_unlock(&cred->lock);
if (claimant_cred_handle == GSS_C_NO_CREDENTIAL)
- krb5_gss_release_cred(minor_status, (gss_cred_id_t)cred);
+ krb5_gss_release_cred(minor_status, (gss_cred_id_t)&cred);
*minor_status = 0;
if (*context_handle == GSS_C_NO_CONTEXT)
krb5_free_context(context);
}
if (claimant_cred_handle == GSS_C_NO_CREDENTIAL)
- krb5_gss_release_cred(&tmp_min_stat, (gss_cred_id_t)cred);
+ krb5_gss_release_cred(&tmp_min_stat, (gss_cred_id_t)&cred);
return(major_status);
}