krb5 commit: Fix memory leak in krb5_verify_init_creds
Greg Hudson
ghudson at MIT.EDU
Thu Mar 13 11:46:11 EDT 2014
https://github.com/krb5/krb5/commit/27b136d2e3181e787b2d4a03ee712d5d5137f5cd
commit 27b136d2e3181e787b2d4a03ee712d5d5137f5cd
Author: Nalin Dahyabhai <nalin at dahyabhai.net>
Date: Mon Feb 17 17:14:20 2014 -0500
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 at mit.edu: edited commit message]
ticket: 7875 (new)
target_version: 1.12.2
tags: pullup
src/lib/krb5/krb/vfy_increds.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/lib/krb5/krb/vfy_increds.c b/src/lib/krb5/krb/vfy_increds.c
index e88a37f..4833992 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;
More information about the cvs-krb5
mailing list