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

Tom Yu tlyu at mit.edu
Mon Oct 24 15:57:55 EDT 2016


https://github.com/krb5/krb5/commit/80d909e2053dffa09ec31496439e26eaf8b02560
commit 80d909e2053dffa09ec31496439e26eaf8b02560
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.14.5

 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