[gnome-keyring] daemon: Fix GStrv leak in DBus message handler
- From: Stefan Walter <stefw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-keyring] daemon: Fix GStrv leak in DBus message handler
- Date: Thu, 13 Nov 2014 20:57:20 +0000 (UTC)
commit 6da13bb815c3893ab305316ca3f08faaf0093953
Author: Christophe Fergeau <cfergeau redhat com>
Date: Wed Oct 15 15:50:54 2014 +0200
daemon: Fix GStrv leak in DBus message handler
https://bugzilla.gnome.org/show_bug.cgi?id=738508
daemon/dbus/gkd-dbus.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/daemon/dbus/gkd-dbus.c b/daemon/dbus/gkd-dbus.c
index e13e88d..ad2aff2 100644
--- a/daemon/dbus/gkd-dbus.c
+++ b/daemon/dbus/gkd-dbus.c
@@ -103,7 +103,6 @@ message_handler_cb (DBusConnection *conn, DBusMessage *message, void *user_data)
const gchar **env;
DBusMessageIter items, entry;
- gchar **parts;
env = gkd_util_get_environment ();
g_return_val_if_fail (env, DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
@@ -114,13 +113,17 @@ message_handler_cb (DBusConnection *conn, DBusMessage *message, void *user_data)
if (!dbus_message_iter_open_container (&args, DBUS_TYPE_ARRAY, "{ss}", &items))
g_return_val_if_reached (DBUS_HANDLER_RESULT_NEED_MEMORY);
while (*env) {
+ gchar **parts;
parts = g_strsplit (*env, "=", 2);
g_return_val_if_fail (parts && parts[0] && parts[1],
DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
if (!dbus_message_iter_open_container (&items, DBUS_TYPE_DICT_ENTRY, NULL, &entry) ||
!dbus_message_iter_append_basic (&entry, DBUS_TYPE_STRING, &parts[0]) ||
!dbus_message_iter_append_basic (&entry, DBUS_TYPE_STRING, &parts[1]) ||
- !dbus_message_iter_close_container (&items, &entry))
+ !dbus_message_iter_close_container (&items, &entry)) {
+ g_strfreev (parts);
g_return_val_if_reached (DBUS_HANDLER_RESULT_NEED_MEMORY);
+ }
+ g_strfreev (parts);
++env;
}
if (!dbus_message_iter_close_container (&args, &items))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]