diff options
author | Marco Barisione <marco@barisione.org> | 2011-01-27 19:02:27 +0000 |
---|---|---|
committer | Marco Barisione <marco@barisione.org> | 2011-01-27 19:02:27 +0000 |
commit | 0d69567e4d0d94e6018c10f528b177195c75b958 (patch) | |
tree | f5c9c7f855e09a9ad12da5a83f2f0572c0e65627 /plugins | |
parent | fa4de0d15ea4f2184e76f935ff79708fcee11eb4 (diff) |
Aegis plugin: fix a leak of DBus proxies
Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=33612>
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mcp-dbus-aegis-acl.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/mcp-dbus-aegis-acl.c b/plugins/mcp-dbus-aegis-acl.c index f944cac2..f94d445e 100644 --- a/plugins/mcp-dbus-aegis-acl.c +++ b/plugins/mcp-dbus-aegis-acl.c @@ -198,24 +198,28 @@ async_authorised_cb (DBusGProxy *proxy, pid, permitted ? "Allowed" : "Forbidden"); mcp_dbus_acl_authorised_async_step (ad, permitted); + + g_object_unref (proxy); } static void caller_async_authorised (const McpDBusAcl *self, DBusAclAuthData *data) { - DBusGConnection *dgc = tp_proxy_get_dbus_connection (data->dbus); - DBusGProxy *proxy = dbus_g_proxy_new_for_name (dgc, - DBUS_SERVICE_DBUS, - DBUS_PATH_DBUS, - DBUS_INTERFACE_DBUS); - DEBUG ("starting async caller-permission ACL check"); if (is_filtered (data->type, data->name, data->params)) { + DBusGConnection *dgc; + DBusGProxy *proxy; gchar *caller = dbus_g_method_get_sender (data->context); + dgc = tp_proxy_get_dbus_connection (data->dbus); + proxy = dbus_g_proxy_new_for_name (dgc, + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); + dbus_g_proxy_begin_call (proxy, "GetConnectionUnixProcessID", async_authorised_cb, data, |