54 lines
1.5 KiB
Diff
54 lines
1.5 KiB
Diff
|
|
From a215c0ac5c2cc8c1686349aeafaf110853aa8457 Mon Sep 17 00:00:00 2001
|
||
|
|
From: huyan <hu.huyan@huawei.com>
|
||
|
|
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
|
||
|
|
|