showhostkey: fix regression after RHEL-69403

Resolves: RHEL-75975
Signed-off-by: Daiki Ueno <dueno@redhat.com>
This commit is contained in:
Daiki Ueno 2025-01-24 14:46:10 +09:00
parent 764185f5e2
commit d1fdab45d9

View File

@ -1,4 +1,4 @@
From ddf4fcee5812e453f784e7b453f52d242baf060c Mon Sep 17 00:00:00 2001
From dfb8a1244c7c902e0daa6ae19fe4b4171297ad95 Mon Sep 17 00:00:00 2001
From: Daiki Ueno <dueno@redhat.com>
Date: Sat, 23 Nov 2024 10:18:03 +0900
Subject: [PATCH 1/2] secrets: allocate secret_pubkey_stuff separately from
@ -13,8 +13,8 @@ Signed-off-by: Daiki Ueno <dueno@redhat.com>
lib/libswan/secrets.c | 32 ++++++++++---------
programs/pluto/ikev2_eap.c | 2 +-
programs/pluto/keys.c | 6 ++--
programs/showhostkey/showhostkey.c | 31 ++++++++++--------
8 files changed, 54 insertions(+), 49 deletions(-)
programs/showhostkey/showhostkey.c | 32 +++++++++++--------
8 files changed, 55 insertions(+), 49 deletions(-)
diff --git a/include/secrets.h b/include/secrets.h
index 8f9f990c10..c9272d71e0 100644
@ -312,7 +312,7 @@ index 359ed87f75..e71fccb825 100644
c->name, type->name);
return pks;
diff --git a/programs/showhostkey/showhostkey.c b/programs/showhostkey/showhostkey.c
index aaef793914..65b95ba596 100644
index aaef793914..da4e40d135 100644
--- a/programs/showhostkey/showhostkey.c
+++ b/programs/showhostkey/showhostkey.c
@@ -172,14 +172,14 @@ static void print(struct secret_stuff *pks,
@ -396,7 +396,7 @@ index aaef793914..65b95ba596 100644
.kind = type->private_key_kind,
.line = 0,
- .u.pubkey.private_key = SECKEY_CopyPrivateKey(private_key), /* add reference */
+ .u.pubkey = &pubkey,
+ .u.pubkey = clone_thing(pubkey, "pubkey"),
};
- type->extract_pubkey_content(&pks.u.pubkey.content, pubk, ckaid_nss);
@ -404,7 +404,7 @@ index aaef793914..65b95ba596 100644
/*
* Only count private keys that get processed.
*/
@@ -513,8 +516,8 @@ static struct secret_stuff *foreach_nss_private_key(secret_eval func,
@@ -513,8 +516,9 @@ static struct secret_stuff *foreach_nss_private_key(secret_eval func,
break;
}
@ -412,14 +412,15 @@ index aaef793914..65b95ba596 100644
- type->free_pubkey_content(&pks.u.pubkey.content);
+ SECKEY_DestroyPrivateKey(pks.u.pubkey->private_key); /* destroy reference */
+ type->free_pubkey_content(&pks.u.pubkey->content);
+ pfreeany(pks.u.pubkey);
if (ret < 0) {
break;
--
2.47.0
2.48.1
From 9e9bdbc27aedb035e769660b65a92e173ee9a5f9 Mon Sep 17 00:00:00 2001
From c346964929e12e6fe7ea901cfb6d6b899e06fd74 Mon Sep 17 00:00:00 2001
From: Andrew Cagney <cagney@gnu.org>
Date: Fri, 8 Nov 2024 17:45:53 -0500
Subject: [PATCH 2/2] crypto: refcnt struct secret_pubkey_stuff when passing to
@ -578,5 +579,5 @@ index 4fe661b559..2973569a90 100644
pfreeany(*task);
}
--
2.47.0
2.48.1