From 3a374f576f6d669c06896ff71c2a4c1623c30659 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 17 Feb 2026 09:50:52 +0000 Subject: [PATCH] import UBI libdnf-0.69.0-17.el9_7 --- ...add_public_keys-reset-GError-to-NULL.patch | 36 +++++++++++++++++++ SPECS/libdnf.spec | 6 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0034-Fix-dnf_keyring_add_public_keys-reset-GError-to-NULL.patch diff --git a/SOURCES/0034-Fix-dnf_keyring_add_public_keys-reset-GError-to-NULL.patch b/SOURCES/0034-Fix-dnf_keyring_add_public_keys-reset-GError-to-NULL.patch new file mode 100644 index 0000000..d96b68b --- /dev/null +++ b/SOURCES/0034-Fix-dnf_keyring_add_public_keys-reset-GError-to-NULL.patch @@ -0,0 +1,36 @@ +From 96df64bf5f4e374adac4b1ea423cb29ae73b9f49 Mon Sep 17 00:00:00 2001 +From: Jaroslav Rohel +Date: Mon, 7 Nov 2022 12:15:19 +0100 +Subject: [PATCH] Fix: "dnf_keyring_add_public_keys": reset GError to NULL + (RhBug:2121222) + +Fixes problem "PackageKit crashes if parsing multiple key files fails" +packagekitd[1397]: GError set over the top of a previous GError or + uninitialized memory. This indicates a bug in someone's code. You must + ensure an error is NULL before it's set. The overwriting error message + was: failed to parse public key for + /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-14-secondary + += changelog = +msg: "dnf_keyring_add_public_keys": reset localError to NULL after free +type: bugfix +resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2121222 +--- + libdnf/dnf-keyring.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libdnf/dnf-keyring.cpp b/libdnf/dnf-keyring.cpp +index 62a6248c..550d5ce2 100644 +--- a/libdnf/dnf-keyring.cpp ++++ b/libdnf/dnf-keyring.cpp +@@ -213,6 +213,7 @@ dnf_keyring_add_public_keys(rpmKeyring keyring, GError **error) try + if (!ret) { + g_warning("%s", localError->message); + g_error_free(localError); ++ localError = NULL; + } + } while (true); + return TRUE; +-- +2.52.0 + diff --git a/SPECS/libdnf.spec b/SPECS/libdnf.spec index 946d5e6..b681791 100644 --- a/SPECS/libdnf.spec +++ b/SPECS/libdnf.spec @@ -58,7 +58,7 @@ Name: libdnf Version: %{libdnf_major_version}.%{libdnf_minor_version}.%{libdnf_micro_version} -Release: 16%{?dist} +Release: 17%{?dist} Summary: Library providing simplified C and Python API to libsolv License: LGPLv2+ URL: https://github.com/rpm-software-management/libdnf @@ -96,6 +96,7 @@ Patch30: 0030-C-API-Detect-releasever_major-releasever_minor-from-.patch Patch31: 0031-C-API-Use-releasever_-major-minor-from-context-inste.patch Patch32: 0032-C-API-support-shell-style-variable-substitution.patch Patch33: 0033-C-API-test-shell-style-variable-expressions.patch +Patch34: 0034-Fix-dnf_keyring_add_public_keys-reset-GError-to-NULL.patch BuildRequires: cmake @@ -345,6 +346,9 @@ popd %endif %changelog +* Tue Feb 03 2026 Ales Matej - 0.69.0-17 +- Fix a crash when parsing multiple key files fails (RHEL-135601) + * Mon Jun 30 2025 Evan Goode - 0.69.0-16 - Introduce $releasever_major, $releasever_minor variables, shell-style variable substitution (RHEL-95006)