diff --git a/polkit-0.113-agent-leaks.patch b/polkit-0.113-agent-leaks.patch new file mode 100644 index 0000000..7754262 --- /dev/null +++ b/polkit-0.113-agent-leaks.patch @@ -0,0 +1,89 @@ +commit 7ecf29a9db86f7161e2ff48e7bb8ea46a90f954f +Author: Miloslav Trmač +Date: Wed Feb 8 22:57:21 2017 +0100 + + Fix a memory leak in server_handle_authentication_agent_response{,2} + + Signed-off-by: Miloslav Trmač + +diff --git a/src/polkitbackend/polkitbackendauthority.c b/src/polkitbackend/polkitbackendauthority.c +index 2bcad62..cad3f74 100644 +--- a/src/polkitbackend/polkitbackendauthority.c ++++ b/src/polkitbackend/polkitbackendauthority.c +@@ -1054,6 +1054,7 @@ server_handle_authentication_agent_response (Server *server, + g_dbus_method_invocation_return_value (invocation, g_variant_new ("()")); + + out: ++ g_variant_unref (identity_gvariant); + if (identity != NULL) + g_object_unref (identity); + } +@@ -1104,6 +1105,7 @@ server_handle_authentication_agent_response2 (Server *server, + g_dbus_method_invocation_return_value (invocation, g_variant_new ("()")); + + out: ++ g_variant_unref (identity_gvariant); + if (identity != NULL) + g_object_unref (identity); + } + +commit d9efd2673d73214e7990e3e67cdddfa77c6a8226 +Author: Miloslav Trmač +Date: Wed Feb 8 22:55:10 2017 +0100 + + Fix a memory leak in server_handle_unregister_authentication_agent + + Signed-off-by: Miloslav Trmač + +diff --git a/src/polkitbackend/polkitbackendauthority.c b/src/polkitbackend/polkitbackendauthority.c +index 7e08e57..2bcad62 100644 +--- a/src/polkitbackend/polkitbackendauthority.c ++++ b/src/polkitbackend/polkitbackendauthority.c +@@ -1003,6 +1003,7 @@ server_handle_unregister_authentication_agent (Server *server, + g_dbus_method_invocation_return_value (invocation, g_variant_new ("()")); + + out: ++ g_variant_unref (subject_gvariant); + if (subject != NULL) + g_object_unref (subject); + } + +commit af4566e1a7e9031b9a05f49c7d27bf379d822016 +Author: Miloslav Trmač +Date: Thu Feb 9 19:53:54 2017 +0100 + + Fix a memory leak per agent authentication + + Signed-off-by: Miloslav Trmač + +diff --git a/src/polkitbackend/polkitbackendinteractiveauthority.c b/src/polkitbackend/polkitbackendinteractiveauthority.c +index bf0ee48..b8096b3 100644 +--- a/src/polkitbackend/polkitbackendinteractiveauthority.c ++++ b/src/polkitbackend/polkitbackendinteractiveauthority.c +@@ -1906,15 +1906,15 @@ authentication_agent_begin_cb (GDBusProxy *proxy, + AuthenticationSession *session = user_data; + gboolean gained_authorization; + gboolean was_dismissed; ++ GVariant *result; + GError *error; + + was_dismissed = FALSE; + gained_authorization = FALSE; + + error = NULL; +- if (!g_dbus_proxy_call_finish (proxy, +- res, +- &error)) ++ result = g_dbus_proxy_call_finish (proxy, res, &error); ++ if (result == NULL) + { + g_printerr ("Error performing authentication: %s (%s %d)\n", + error->message, +@@ -1926,6 +1926,7 @@ authentication_agent_begin_cb (GDBusProxy *proxy, + } + else + { ++ g_variant_unref (result); + gained_authorization = session->is_authenticated; + g_debug ("Authentication complete, is_authenticated = %d", session->is_authenticated); + } diff --git a/polkit.spec b/polkit.spec index 8b04b91..c0ea220 100644 --- a/polkit.spec +++ b/polkit.spec @@ -6,11 +6,13 @@ Summary: An authorization framework Name: polkit Version: 0.113 -Release: 6%{?dist} +Release: 7%{?dist} License: LGPLv2+ URL: http://www.freedesktop.org/wiki/Software/polkit Source0: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz Source1: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz.sign +# https://bugs.freedesktop.org/show_bug.cgi?id=99741 +Patch0: polkit-0.113-agent-leaks.patch Group: System Environment/Libraries BuildRequires: glib2-devel >= 2.30.0 BuildRequires: expat-devel @@ -89,6 +91,7 @@ Libraries files for polkit. %prep %setup -q +%patch0 -p1 -b .agent-leaks %build %if 0%{?enable_autoreconf} @@ -174,6 +177,10 @@ exit 0 %{_libdir}/girepository-1.0/*.typelib %changelog +* Mon Feb 13 2017 Miloslav Trmač - 0.113-7 +- Fix memory leaks when calling authentication agents + Resolves: #1380166 + * Sat Feb 11 2017 Fedora Release Engineering - 0.113-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild