From: Nalin Dahyabhai Date: Mon, 17 Feb 2014 22:14:20 +0000 (-0500) Subject: Fix memory leak in krb5_verify_init_creds X-Git-Tag: krb5-1.13-alpha1~186 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=27b136d2e3181e787b2d4a03ee712d5d5137f5cd;p=thirdparty%2Fkrb5.git 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 --- diff --git a/src/lib/krb5/krb/vfy_increds.c b/src/lib/krb5/krb/vfy_increds.c index e88a37f80a..4833992352 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;