From: Kevin Coffman Date: Fri, 8 Dec 2006 21:02:02 +0000 (+0000) Subject: Don't leak padata when looping for krb5_do_preauth_tryagain() X-Git-Tag: krb5-1.7-alpha1~1410 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f0bf53b69ba1349c08ac7403238470b1aa84d2ca;p=krb5.git Don't leak padata when looping for krb5_do_preauth_tryagain() * src/lib/krb5/krb/get_in_tkt.c: krb5_get_init_creds() Free any existing request.padata at the top of the loop calling krb5_do_preauth() and krb5_do_preauth_tryagain(). ticket: new component: krb5-libs Target_Version: 1.6 Tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@18935 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/lib/krb5/krb/get_in_tkt.c b/src/lib/krb5/krb/get_in_tkt.c index 5f26e1b63..c12bd5b4b 100644 --- a/src/lib/krb5/krb/get_in_tkt.c +++ b/src/lib/krb5/krb/get_in_tkt.c @@ -1097,12 +1097,12 @@ krb5_get_init_creds(krb5_context context, /* now, loop processing preauth data and talking to the kdc */ for (loopcount = 0; loopcount < MAX_IN_TKT_LOOPS; loopcount++) { + if (request.padata) { + krb5_free_pa_data(context, request.padata); + request.padata = NULL; + } if (!err_reply) { /* either our first attempt, or retrying after PREAUTH_NEEDED */ - if (request.padata) { - krb5_free_pa_data(context, request.padata); - request.padata = NULL; - } if ((ret = krb5_do_preauth(context, &request, encoded_request_body,