race condition in referrals fallback
authorTom Yu <tlyu@mit.edu>
Wed, 25 Apr 2007 21:19:07 +0000 (21:19 +0000)
committerTom Yu <tlyu@mit.edu>
Wed, 25 Apr 2007 21:19:07 +0000 (21:19 +0000)
commit220799ba475ec8044fedf544c15fab34d090b3a1
tree8700fed494d8777a7bf28cc5ad6db5731ba44e81
parentd6658915d06df1f90191b2ff12c7c4a61ab0e47e
race condition in referrals fallback

* src/lib/krb5/krb/gc_frm_kdc.c (krb5_get_cred_from_kdc_opt):
During referrals fallback, set *tgts to NULL after freeing.  This
avoids returning a pointer to freed memory when the first call to
do_traversal() obtains some TGTs and the subsequent
krb5_cc_retrieve_cred() of the final-hop TGT succeeds (due to some
other thread or process storing that TGT into the ccache), causing
second do_traversal() call (which would re-initialize *tgts) to
not execute.  Race condition found during KfW-3.2 testing.

ticket: new
target_version: 1.6.2
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19526 dc483132-0cff-0310-8789-dd5450dbe970
src/lib/krb5/krb/gc_frm_kdc.c