_gsskrb5_acquire_cred_from leaks context

This commit is contained in:
Václav Chlumský
2019-10-29 13:04:12 +01:00
committed by Roland C. Dowdeswell
parent c7d4682aed
commit 1522ec5171

View File

@@ -594,6 +594,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_acquire_cred_from
handle = calloc(1, sizeof(*handle)); handle = calloc(1, sizeof(*handle));
if (handle == NULL) { if (handle == NULL) {
*minor_status = ENOMEM; *minor_status = ENOMEM;
krb5_free_context(context);
return GSS_S_FAILURE; return GSS_S_FAILURE;
} }
@@ -605,6 +606,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_acquire_cred_from
if (ret) { if (ret) {
HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex); HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
free(handle); free(handle);
krb5_free_context(context);
return ret; return ret;
} }
} }
@@ -615,6 +617,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_acquire_cred_from
if (ret != GSS_S_COMPLETE) { if (ret != GSS_S_COMPLETE) {
HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex); HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
krb5_free_principal(context, handle->principal); krb5_free_principal(context, handle->principal);
krb5_free_context(context);
free(handle); free(handle);
return (ret); return (ret);
} }
@@ -630,6 +633,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_acquire_cred_from
if (ret != GSS_S_COMPLETE) { if (ret != GSS_S_COMPLETE) {
HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex); HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
krb5_free_principal(context, handle->principal); krb5_free_principal(context, handle->principal);
krb5_free_context(context);
free(handle); free(handle);
return (ret); return (ret);
} }
@@ -641,6 +645,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_acquire_cred_from
if (ret != GSS_S_COMPLETE) { if (ret != GSS_S_COMPLETE) {
HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex); HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
krb5_free_principal(context, handle->principal); krb5_free_principal(context, handle->principal);
krb5_free_context(context);
free(handle); free(handle);
return (ret); return (ret);
} }
@@ -659,6 +664,7 @@ OM_uint32 GSSAPI_CALLCONV _gsskrb5_acquire_cred_from
gss_release_oid_set(NULL, &handle->mechanisms); gss_release_oid_set(NULL, &handle->mechanisms);
HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex); HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
krb5_free_principal(context, handle->principal); krb5_free_principal(context, handle->principal);
krb5_free_context(context);
free(handle); free(handle);
return (ret); return (ret);
} }