summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEzra Peisach <epeisach@mit.edu>2009-09-14 02:03:28 +0000
committerEzra Peisach <epeisach@mit.edu>2009-09-14 02:03:28 +0000
commitd0cf89ecb9a86ce422a6bdf33fb763aa0ad1154f (patch)
treef9307c56811b31a7f7040b8be74ef5fa6d2f3201
parentfe343992fc10d63cb1be982cc71520981fed3c0d (diff)
downloadkrb5-d0cf89ecb9a86ce422a6bdf33fb763aa0ad1154f.tar.gz
krb5-d0cf89ecb9a86ce422a6bdf33fb763aa0ad1154f.tar.xz
krb5-d0cf89ecb9a86ce422a6bdf33fb763aa0ad1154f.zip
Initialize several variables - so that on error cleanup - we do not try to free
bogus memory. The ticket is still open as the kproplog test is failing - but no coredump. ticket: 6564 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@22750 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/kdc/do_tgs_req.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/kdc/do_tgs_req.c b/src/kdc/do_tgs_req.c
index 37a69e10d..2f357574d 100644
--- a/src/kdc/do_tgs_req.c
+++ b/src/kdc/do_tgs_req.c
@@ -130,6 +130,9 @@ process_tgs_req(krb5_data *pkt, const krb5_fulladdr *from,
krb5_pa_data *pa_tgs_req; /*points into request*/
krb5_data scratch;
+ reply.padata = 0; /* For cleanup handler */
+ reply_encpart.enc_padata = 0;
+
session_key.contents = NULL;
retval = decode_krb5_tgs_req(pkt, &request);
@@ -866,7 +869,6 @@ tgt_again:
ticket_reply.enc_part.kvno = ticket_kvno;
/* Start assembling the response */
reply.msg_type = KRB5_TGS_REP;
- reply.padata = 0;/* always */
if (isflagset(c_flags, KRB5_KDB_FLAG_PROTOCOL_TRANSITION) &&
find_pa_data(request->padata, KRB5_PADATA_S4U_X509_USER) != NULL) {
errcode = kdc_make_s4u2self_rep(kdc_context,