From 27b136d2e3181e787b2d4a03ee712d5d5137f5cd Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Mon, 17 Feb 2014 17:14:20 -0500 Subject: Fix memory leak in krb5_verify_init_creds When copying most of the credentials from one cache to another in copy_creds_except (called from get_vfy_cred, from krb5_verify_init_creds), we need to free all of the credentials that we read, not just the ones we copied. [ghudson@mit.edu: edited commit message] ticket: 7875 (new) target_version: 1.12.2 tags: pullup --- src/lib/krb5/krb/vfy_increds.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/lib/krb5/krb/vfy_increds.c b/src/lib/krb5/krb/vfy_increds.c index e88a37f80..483399235 100644 --- a/src/lib/krb5/krb/vfy_increds.c +++ b/src/lib/krb5/krb/vfy_increds.c @@ -69,9 +69,9 @@ copy_creds_except(krb5_context context, krb5_ccache incc, while (!(ret = krb5_cc_next_cred(context, incc, &cur, &creds))) { if (krb5_principal_compare(context, princ, creds.server)) - continue; - - ret = krb5_cc_store_cred(context, outcc, &creds); + ret = 0; + else + ret = krb5_cc_store_cred(context, outcc, &creds); krb5_free_cred_contents(context, &creds); if (ret) goto cleanup; -- cgit