From 3bb6e66c07a9864cc7ece0604105bd987e1d2977 Mon Sep 17 00:00:00 2001 From: Greg Hudson Date: Fri, 21 Oct 2016 02:06:18 -0400 Subject: 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 file changed, 3 insertions(+), 1 deletion(-) 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); -- cgit v1.1