From a215c0ac5c2cc8c1686349aeafaf110853aa8457 Mon Sep 17 00:00:00 2001 From: huyan Date: Mon, 17 Jun 2019 15:48:48 +0800 Subject: [PATCH] backport remove resource leaks from krb5_util.c --- utils/gssd/krb5_util.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c index eba1aac..c84c2a2 100644 --- a/utils/gssd/krb5_util.c +++ b/utils/gssd/krb5_util.c @@ -698,6 +698,8 @@ gssd_search_krb5_keytab(krb5_context context, krb5_keytab kt, "we failed to unparse principal name: %s\n", k5err); k5_free_kt_entry(context, kte); + free(k5err); + k5err = NULL; continue; } printerr(4, "Processing keytab entry for principal '%s'\n", @@ -899,6 +901,8 @@ find_keytab_entry(krb5_context context, krb5_keytab kt, k5err = gssd_k5_err_msg(context, code); printerr(1, "%s while building principal for '%s'\n", k5err, spn); + free(k5err); + k5err = NULL; continue; } code = krb5_kt_get_entry(context, kt, princ, 0, 0, kte); @@ -1168,7 +1172,8 @@ gssd_get_krb5_machine_cred_list(char ***list) *list = l; retval = 0; goto out; - } + } else + free((void *)l); out: return retval; } @@ -1216,6 +1221,8 @@ gssd_destroy_krb5_machine_creds(void) printerr(0, "WARNING: %s while resolving credential " "cache '%s' for destruction\n", k5err, ple->ccname); + free(k5err); + k5err = NULL; continue; } -- 1.8.3.1