Don't leak padata when looping for krb5_do_preauth_tryagain()
authorKevin Coffman <kwc@citi.umich.edu>
Fri, 8 Dec 2006 21:02:02 +0000 (21:02 +0000)
committerKevin Coffman <kwc@citi.umich.edu>
Fri, 8 Dec 2006 21:02:02 +0000 (21:02 +0000)
    * 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

src/lib/krb5/krb/get_in_tkt.c

index 5f26e1b6366c73871add796335a357c7cf29f358..c12bd5b4be15e1fef146d84c120e419bc7032be3 100644 (file)
@@ -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,