| |
@@ -0,0 +1,34 @@
|
| |
+ From d9686b9da8ae20a771afa59984a6fb4d4462e120 Mon Sep 17 00:00:00 2001
|
| |
+ From: rpm-build <rpm-build>
|
| |
+ Date: Mon, 8 Jan 2024 10:41:50 +0100
|
| |
+ Subject: [PATCH] set defname to NULL after freeing it
|
| |
+
|
| |
+ It's a static variable, hence it will be reused on next call of the
|
| |
+ function, leading to double free if krb5_cc_get_principal() fails:
|
| |
+
|
| |
+ klist: Credentials cache keyring 'persistent:1000:krb_ccache_xgrbUbg' not found
|
| |
+
|
| |
+ klist: Credentials cache keyring 'persistent:1000:krb_ccache_1jASmDA' not found
|
| |
+ free(): double free detected in tcache 2
|
| |
+ Aborted (core dumped)
|
| |
+
|
| |
+ This is a regression from 0016-Fix-unimportant-memory-leaks.patch .
|
| |
+ ---
|
| |
+ src/clients/klist/klist.c | 1 +
|
| |
+ 1 file changed, 1 insertion(+)
|
| |
+
|
| |
+ diff --git a/src/clients/klist/klist.c b/src/clients/klist/klist.c
|
| |
+ index 43392d2..6c43c0f 100644
|
| |
+ --- a/src/clients/klist/klist.c
|
| |
+ +++ b/src/clients/klist/klist.c
|
| |
+ @@ -525,6 +525,7 @@ cleanup:
|
| |
+ (void)krb5_cc_end_seq_get(context, cache, &cur);
|
| |
+ krb5_free_principal(context, princ);
|
| |
+ krb5_free_unparsed_name(context, defname);
|
| |
+ + defname = NULL;
|
| |
+ return status;
|
| |
+ }
|
| |
+
|
| |
+ --
|
| |
+ 2.43.0
|
| |
+
|
| |