From 93d6ff8f803acc7e5358219b03ac92ea94deebbe Mon Sep 17 00:00:00 2001 From: yixiangzhike Date: Mon, 30 Sep 2024 16:26:02 +0800 Subject: [PATCH] Fix minor memory leak --- ...mory-leak-during-certain-smartcard-o.patch | 47 +++++++++++++++++++ gnupg2.spec | 6 ++- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 backport-gpg-Fix-minor-memory-leak-during-certain-smartcard-o.patch diff --git a/backport-gpg-Fix-minor-memory-leak-during-certain-smartcard-o.patch b/backport-gpg-Fix-minor-memory-leak-during-certain-smartcard-o.patch new file mode 100644 index 0000000..87df923 --- /dev/null +++ b/backport-gpg-Fix-minor-memory-leak-during-certain-smartcard-o.patch @@ -0,0 +1,47 @@ +From 95b9a31f81e4a56518269d2476b54a1f10fe8b3e Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Fri, 27 Oct 2023 14:20:47 +0200 +Subject: [PATCH] gpg: Fix minor memory leak during certain smartcard + operations. + +* g10/keygen.c (card_store_key_with_backup): Fix memory leak on error. +--- + g10/keygen.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/g10/keygen.c b/g10/keygen.c +index 87940722d..2f8528278 100644 +--- a/g10/keygen.c ++++ b/g10/keygen.c +@@ -5386,17 +5386,26 @@ card_store_key_with_backup (ctrl_t ctrl, PKT_public_key *sub_psk, + { + ecdh_param_str = ecdh_param_str_from_pk (sk); + if (!ecdh_param_str) +- return gpg_error_from_syserror (); ++ { ++ free_public_key (sk); ++ return gpg_error_from_syserror (); ++ } + } + + err = hexkeygrip_from_pk (sk, &hexgrip); + if (err) +- goto leave; ++ { ++ xfree (ecdh_param_str); ++ free_public_key (sk); ++ goto leave; ++ } + + memset(&info, 0, sizeof (info)); + rc = agent_scd_getattr ("SERIALNO", &info); + if (rc) + { ++ xfree (ecdh_param_str); ++ free_public_key (sk); + err = (gpg_error_t)rc; + goto leave; + } +-- +2.33.0 + diff --git a/gnupg2.spec b/gnupg2.spec index c0ef64c..2ced8a8 100644 --- a/gnupg2.spec +++ b/gnupg2.spec @@ -1,6 +1,6 @@ Name: gnupg2 Version: 2.4.3 -Release: 3 +Release: 4 Summary: Utility for secure communication and data storage License: GPLv3+ @@ -19,6 +19,7 @@ Patch8: gnupg-2.2.21-coverity.patch Patch9: gnupg2-revert-rfc4880bis.patch Patch10: backport-dirmngr-Enable-the-call-of-ks_ldap_help_variables-wh.patch Patch11: backport-gpg-Make-no-literal-work-again-for-c-and-store.patch +Patch12: backport-gpg-Fix-minor-memory-leak-during-certain-smartcard-o.patch BuildRequires: gcc BuildRequires: zlib-devel, npth-devel, texinfo @@ -120,6 +121,9 @@ make check %changelog +* Mon Sep 30 2024 yixiangzhike - 2.4.3-4 +- backport upstream patch to fix minor memory leak + * Wed Sep 25 2024 yixiangzhike - 2.4.3-3 - gpg Make --no-literal work again for -c and --store