(tgs_rep2): alloc and free csec and cusec properly

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9996 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
2001-05-22 20:16:22 +00:00
parent 4321aa3cb5
commit 32975edd28

View File

@@ -1355,6 +1355,9 @@ tgs_rep2(KDC_REQ_BODY *b,
krb5_principal sp = NULL; krb5_principal sp = NULL;
AuthorizationData *auth_data = NULL; AuthorizationData *auth_data = NULL;
*csec = NULL;
*cusec = NULL;
memset(&ap_req, 0, sizeof(ap_req)); memset(&ap_req, 0, sizeof(ap_req));
ret = krb5_decode_ap_req(context, &tgs_req->padata_value, &ap_req); ret = krb5_decode_ap_req(context, &tgs_req->padata_value, &ap_req);
if(ret){ if(ret){
@@ -1437,8 +1440,20 @@ tgs_rep2(KDC_REQ_BODY *b,
ret = krb5_auth_getauthenticator(context, ac, &auth); ret = krb5_auth_getauthenticator(context, ac, &auth);
if (ret == 0) { if (ret == 0) {
*csec = &auth->ctime; *csec = malloc(sizeof(**csec));
*cusec = &auth->cusec; if (*csec == NULL) {
krb5_free_authenticator(context, &auth);
kdc_log(0, "malloc failed");
goto out2;
}
**csec = auth->ctime;
*cusec = malloc(sizeof(**cusec));
if (*cusec == NULL) {
krb5_free_authenticator(context, &auth);
kdc_log(0, "malloc failed");
goto out2;
}
**csec = auth->cusec;
krb5_free_authenticator(context, &auth); krb5_free_authenticator(context, &auth);
} }
} }
@@ -1676,7 +1691,7 @@ tgs_rep2(KDC_REQ_BODY *b,
free_ent(client); free_ent(client);
} }
out2: out2:
if(ret) if(ret) {
krb5_mk_error(context, krb5_mk_error(context,
ret, ret,
e_text, e_text,
@@ -1686,6 +1701,11 @@ out2:
NULL, NULL,
NULL, NULL,
reply); reply);
free(*csec);
free(*cusec);
*csec = NULL;
*cusec = NULL;
}
krb5_free_principal(context, cp); krb5_free_principal(context, cp);
krb5_free_principal(context, sp); krb5_free_principal(context, sp);
if (ticket) { if (ticket) {
@@ -1700,6 +1720,7 @@ out2:
if(krbtgt) if(krbtgt)
free_ent(krbtgt); free_ent(krbtgt);
return ret; return ret;
} }