summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2022-11-11 21:52:28 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2022-11-12 00:17:00 +0100
commit8d9c191ec4f0899045f4b420c57e7c40c8dc0468 (patch)
tree48c2109f4cd2a87ed2e15950284d1dea6fa81b92 /sys-auth/polkit-qt
parentmedia-libs/pulseaudio-qt: Don't crash when the server doesn't respond (diff)
downloadgentoo-8d9c191ec4f0899045f4b420c57e7c40c8dc0468.tar.gz
gentoo-8d9c191ec4f0899045f4b420c57e7c40c8dc0468.tar.bz2
gentoo-8d9c191ec4f0899045f4b420c57e7c40c8dc0468.zip
sys-auth/polkit-qt: Fix memory leak
Upstream commit e6a3603b1f07cd85dbd84377afeda0777d6535e8 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'sys-auth/polkit-qt')
-rw-r--r--sys-auth/polkit-qt/files/polkit-qt-0.114.0-fix-memory-leak.patch36
-rw-r--r--sys-auth/polkit-qt/polkit-qt-0.114.0-r2.ebuild46
2 files changed, 82 insertions, 0 deletions
diff --git a/sys-auth/polkit-qt/files/polkit-qt-0.114.0-fix-memory-leak.patch b/sys-auth/polkit-qt/files/polkit-qt-0.114.0-fix-memory-leak.patch
new file mode 100644
index 000000000000..02f830cbf531
--- /dev/null
+++ b/sys-auth/polkit-qt/files/polkit-qt-0.114.0-fix-memory-leak.patch
@@ -0,0 +1,36 @@
+From e6a3603b1f07cd85dbd84377afeda0777d6535e8 Mon Sep 17 00:00:00 2001
+From: Zhang Dingyuan <justforlxz@gmail.com>
+Date: Tue, 14 Jun 2022 11:37:40 +0800
+Subject: [PATCH] fix: memory leak
+
+agent listener does not reclaim private memory after destructing.
+Use `QScopedPointer` to protect private pointers from being copied and to
+reclaim memory properly.
+---
+ agent/polkitqt1-agent-listener.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/agent/polkitqt1-agent-listener.h b/agent/polkitqt1-agent-listener.h
+index 07fe03a..a40ff41 100644
+--- a/agent/polkitqt1-agent-listener.h
++++ b/agent/polkitqt1-agent-listener.h
+@@ -9,6 +9,7 @@
+ #define POLKITQT1_AGENT_LISTENER_H
+
+ #include <QObject>
++#include <QScopedPointer>
+
+ #include "polkitqt1-agent-session.h"
+
+@@ -137,7 +138,7 @@ public Q_SLOTS:
+ virtual void cancelAuthentication() = 0;
+
+ private:
+- ListenerPrivate * const d;
++ QScopedPointer<ListenerPrivate> d;
+ };
+ }
+
+--
+GitLab
+
diff --git a/sys-auth/polkit-qt/polkit-qt-0.114.0-r2.ebuild b/sys-auth/polkit-qt/polkit-qt-0.114.0-r2.ebuild
new file mode 100644
index 000000000000..0bb9a6530f9b
--- /dev/null
+++ b/sys-auth/polkit-qt/polkit-qt-0.114.0-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_CATEGORY="libraries"
+KDE_ORG_NAME="polkit-qt-1"
+inherit cmake kde.org
+
+DESCRIPTION="Qt wrapper around polkit-1 client libraries"
+HOMEPAGE="https://api.kde.org/polkit-qt-1/html/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${KDE_ORG_NAME}/${KDE_ORG_NAME}-${PV}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="LGPL-2"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ >=sys-auth/polkit-0.103
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+DOCS=( AUTHORS README README.porting TODO )
+
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch"
+ "${FILESDIR}/${P}-glib-2.36.patch"
+ "${FILESDIR}/${P}-fix-memory-leak.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLES=OFF
+ )
+ cmake_src_configure
+}