Fix memory leaks when calling authentication agents
This commit is contained in:
parent
b6d2418168
commit
fcbd678dee
89
polkit-0.113-agent-leaks.patch
Normal file
89
polkit-0.113-agent-leaks.patch
Normal file
@ -0,0 +1,89 @@
|
||||
commit 7ecf29a9db86f7161e2ff48e7bb8ea46a90f954f
|
||||
Author: Miloslav Trmač <mitr@redhat.com>
|
||||
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č <mitr@redhat.com>
|
||||
|
||||
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č <mitr@redhat.com>
|
||||
Date: Wed Feb 8 22:55:10 2017 +0100
|
||||
|
||||
Fix a memory leak in server_handle_unregister_authentication_agent
|
||||
|
||||
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
|
||||
|
||||
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č <mitr@redhat.com>
|
||||
Date: Thu Feb 9 19:53:54 2017 +0100
|
||||
|
||||
Fix a memory leak per agent authentication
|
||||
|
||||
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
|
||||
|
||||
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);
|
||||
}
|
||||
@ -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č <mitr@redhat.com> - 0.113-7
|
||||
- Fix memory leaks when calling authentication agents
|
||||
Resolves: #1380166
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.113-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user