FAST negotiation could erroneously succeed
authorGreg Hudson <ghudson@mit.edu>
Tue, 25 May 2010 02:44:45 +0000 (02:44 +0000)
committerGreg Hudson <ghudson@mit.edu>
Tue, 25 May 2010 02:44:45 +0000 (02:44 +0000)
When FAST negotiation is performed against an older KDC
(rep->enc_part2->flags & TKT_FLG_ENC_PA_REP not set),
krb5int_fast_verify_nego did not set the value of *fast_avail, causing
stack garbage to be used in init_creds_step_reply.  Initialize
*fast_avail at the beginning of the function per coding practices.

ticket: 6734
target_version: 1.8.2
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24102 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/krb/fast.c

index 7a157f638186793def6cd97053ec5badf6fe3558..30be3818c998d80cf6db1b3661e3be96b3565233 100644 (file)
@@ -597,6 +597,7 @@ krb5int_fast_verify_nego(krb5_context context,
     krb5_data scratch;
     krb5_boolean valid;
 
+    *fast_avail = FALSE;
     if (rep->enc_part2->flags& TKT_FLG_ENC_PA_REP) {
         pa = krb5int_find_pa_data(context, rep->enc_part2->enc_padata,
                                   KRB5_ENCPADATA_REQ_ENC_PA_REP);