gss: initialize mech output parameters in mechglue

Initialize mechanism output parameters before calling mechanism
GSS_Accept_sec_context(), to behave robustly with poorly implemented mechanisms
that may return before initializing them.
This commit is contained in:
Luke Howard
2020-03-02 17:10:11 +11:00
parent 41cb135b30
commit e8de24f236

View File

@@ -161,9 +161,9 @@ gss_accept_sec_context(OM_uint32 *minor_status,
struct _gss_cred *cred = (struct _gss_cred *) acceptor_cred_handle; struct _gss_cred *cred = (struct _gss_cred *) acceptor_cred_handle;
struct _gss_mechanism_cred *mc; struct _gss_mechanism_cred *mc;
gss_const_cred_id_t acceptor_mc; gss_const_cred_id_t acceptor_mc;
gss_cred_id_t delegated_mc; gss_cred_id_t delegated_mc = GSS_C_NO_CREDENTIAL;
gss_name_t src_mn; gss_name_t src_mn = GSS_C_NO_NAME;
gss_OID mech_ret_type = NULL; gss_OID mech_ret_type = GSS_C_NO_OID;
*minor_status = 0; *minor_status = 0;
if (src_name) if (src_name)
@@ -229,7 +229,6 @@ gss_accept_sec_context(OM_uint32 *minor_status,
} else { } else {
acceptor_mc = GSS_C_NO_CREDENTIAL; acceptor_mc = GSS_C_NO_CREDENTIAL;
} }
delegated_mc = GSS_C_NO_CREDENTIAL;
mech_ret_flags = 0; mech_ret_flags = 0;
major_status = m->gm_accept_sec_context(minor_status, major_status = m->gm_accept_sec_context(minor_status,