(gss_set_cred_option): free memory on failure
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17769 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -73,8 +73,8 @@ gss_set_cred_option (OM_uint32 *minor_status,
|
|||||||
mc->gmc_mech_oid = &m->gm_mech_oid;
|
mc->gmc_mech_oid = &m->gm_mech_oid;
|
||||||
mc->gmc_cred = GSS_C_NO_CREDENTIAL;
|
mc->gmc_cred = GSS_C_NO_CREDENTIAL;
|
||||||
|
|
||||||
major_status = m->gm_mech.gm_set_cred_option(minor_status,
|
major_status = m->gm_mech.gm_set_cred_option(
|
||||||
&mc->gmc_cred, object, value);
|
minor_status, &mc->gmc_cred, object, value);
|
||||||
|
|
||||||
if (major_status) {
|
if (major_status) {
|
||||||
free(mc);
|
free(mc);
|
||||||
@@ -83,8 +83,9 @@ gss_set_cred_option (OM_uint32 *minor_status,
|
|||||||
one_ok = 1;
|
one_ok = 1;
|
||||||
SLIST_INSERT_HEAD(&cred->gc_mc, mc, gmc_link);
|
SLIST_INSERT_HEAD(&cred->gc_mc, mc, gmc_link);
|
||||||
}
|
}
|
||||||
if (one_ok)
|
*cred_handle = (gss_cred_id_t)cred;
|
||||||
*cred_handle = (gss_cred_id_t)cred;
|
if (!one_ok)
|
||||||
|
gss_release_cred(&minor_status, cred_handle);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
gssapi_mech_interface m;
|
gssapi_mech_interface m;
|
||||||
|
Reference in New Issue
Block a user