Fix memory leak detected in get_best_solution() method

Reference:fd284bda6f
Conflict:no
This commit is contained in:
LuWu 2024-07-23 20:49:12 +08:00
parent 2eb83e5ba4
commit b2d74d14a5
2 changed files with 34 additions and 1 deletions

View File

@ -0,0 +1,29 @@
From fd284bda6f7430b2e939f95c6836c972e22a2eb4 Mon Sep 17 00:00:00 2001
From: Marek Blaha <mblaha@redhat.com>
Date: Tue, 26 Mar 2024 14:09:47 +0100
Subject: [PATCH 293/300] subject-py: Fix memory leak
Posible memory leak was detected in get_best_solution() method.
---
python/hawkey/subject-py.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/python/hawkey/subject-py.cpp b/python/hawkey/subject-py.cpp
index a88d572a..3e1919e7 100644
--- a/python/hawkey/subject-py.cpp
+++ b/python/hawkey/subject-py.cpp
@@ -361,8 +361,10 @@ get_best_solution(_SubjectObject *self, PyObject *args, PyObject *kwds)
HyNevra nevra{nullptr};
UniquePtrPyObject q(get_solution(self, args, kwds, &nevra));
- if (!q)
+ if (!q) {
+ delete nevra;
return NULL;
+ }
PyObject *ret_dict = PyDict_New();
PyDict_SetItem(ret_dict, PyString_FromString("query"), q.get());
if (nevra) {
--
2.33.0

View File

@ -20,7 +20,7 @@
Name: libdnf
Version: 0.48.0
Release: 6
Release: 7
Summary: Library providing simplified C and Python API to libsolv
License: LGPLv2+
URL: https://github.com/rpm-software-management/libdnf
@ -39,6 +39,7 @@ Patch4: add-sw_64-support-for-libdnf.patch
%endif
Patch6001: backport-Fix-countme-bucket-calculation.patch
Patch6002: backport-Fix-up-some-comments-in-addCountmeFlag.patch
Patch6003: backport-subject-py-Fix-memory-leak.patch
BuildRequires: cmake gcc gcc-c++ libsolv-devel >= %{libsolv_version} gettext
BuildRequires: pkgconfig(librepo) >= %{librepo_version} pkgconfig(check)
@ -219,6 +220,9 @@ popd
%endif
%changelog
* Tue Jul 23 2024 LuWu <2398491106@qq.com> - 0.48.0-7
- Fix memory leak detected in get_best_solution() method
* Wed Jul 17 2024 LuWu <2398491106@qq.com> - 0.48.0-6
- Fix countme bucket calculation