A part of 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); } 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); }