krb5 commit [krb5-1.15]: Fix rare leak in krb5_cccol_have_content()

Tom Yu tlyu at mit.edu
Mon Oct 24 17:07:12 EDT 2016


https://github.com/krb5/krb5/commit/3bb6e66c07a9864cc7ece0604105bd987e1d2977
commit 3bb6e66c07a9864cc7ece0604105bd987e1d2977
Author: Greg Hudson <ghudson at mit.edu>
Date:   Fri Oct 21 02:06:18 2016 -0400

    Fix rare leak in krb5_cccol_have_content()
    
    If krb5_cc_start_seq_get() fails inside the loop, close the current
    credential cache before continuing to the next one.  Reported by Todd
    Lipcon.
    
    (cherry picked from commit 1735f2e74767e56ac3bd75de61d41b8363ec6ce4)
    
    ticket: 8509
    version_fixed: 1.15

 src/lib/krb5/ccache/cccursor.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/lib/krb5/ccache/cccursor.c b/src/lib/krb5/ccache/cccursor.c
index 281f128..c31a3f5 100644
--- a/src/lib/krb5/ccache/cccursor.c
+++ b/src/lib/krb5/ccache/cccursor.c
@@ -255,8 +255,10 @@ krb5_cccol_have_content(krb5_context context)
 
         ret = krb5_cc_start_seq_get(context, cache, &cache_cursor);
         save_first_error(context, ret, &errsave);
-        if (ret)
+        if (ret) {
+            krb5_cc_close(context, cache);
             continue;
+        }
         while (!found) {
             ret = krb5_cc_next_cred(context, cache, &cache_cursor, &creds);
             save_first_error(context, ret, &errsave);


More information about the cvs-krb5 mailing list