diff --git a/lib/gssapi/ntlm/accept_sec_context.c b/lib/gssapi/ntlm/accept_sec_context.c index 7ba55cd33..bbd8d6436 100644 --- a/lib/gssapi/ntlm/accept_sec_context.c +++ b/lib/gssapi/ntlm/accept_sec_context.c @@ -54,10 +54,14 @@ _gss_ntlm_allocate_ctx(OM_uint32 *minor_status, ntlm_ctx *ctx) (*ctx)->server = ns_interface; maj_stat = (*(*ctx)->server->nsi_init)(minor_status, &(*ctx)->ictx); - if (maj_stat != GSS_S_COMPLETE) - return maj_stat; + if (maj_stat == GSS_S_COMPLETE) + return GSS_S_COMPLETE; - return GSS_S_COMPLETE; + if (*ctx) + free(*ctx); + (*ctx) = NULL; + + return maj_stat; } /*