aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2013-02-01 11:47:24 +0000
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>2013-02-01 11:47:24 +0000
commitd47abf7df15586f7706c103f28a3d93d7dd8c38d (patch)
tree3b358c1a08c9a42d66b8bfc09997904206fb6884
parent9748b9fa4d954b6c9d09f1575cace3d76829e5cb (diff)
downloadenlightenment-d47abf7df15586f7706c103f28a3d93d7dd8c38d.tar.gz
enlightenment-d47abf7df15586f7706c103f28a3d93d7dd8c38d.tar.xz
enlightenment-d47abf7df15586f7706c103f28a3d93d7dd8c38d.zip
backport profile list leak fix
SVN revision: 83553
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--src/bin/e_msgbus.c6
3 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ab607b7b..7d602cd7a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-02-01 Mike Blumenkrantz
+
+ * fixed leak in profile list dbus method
+
2013-01-31 Mike Blumenkrantz
* fixed a number of bugs where keyboard layouts could not be applied or selected
diff --git a/NEWS b/NEWS
index 68b085526..42d9aa68c 100644
--- a/NEWS
+++ b/NEWS
@@ -68,3 +68,4 @@ Fixes:
* fixed possible NULL deref in desktop editor
* fixed possible NULL deref in e_sys when debugging
* fixed bug where dragging files into sidebar would move them instead of creating links
+ * fixed leak in profile list dbus method
diff --git a/src/bin/e_msgbus.c b/src/bin/e_msgbus.c
index b32122a87..34f588ac4 100644
--- a/src/bin/e_msgbus.c
+++ b/src/bin/e_msgbus.c
@@ -350,8 +350,7 @@ static DBusMessage *
_e_msgbus_profile_list_cb(E_DBus_Object *obj __UNUSED__,
DBusMessage *msg)
{
- Eina_List *l;
- const char *name;
+ char *name;
DBusMessage *reply;
DBusMessageIter iter;
DBusMessageIter arr;
@@ -360,9 +359,10 @@ _e_msgbus_profile_list_cb(E_DBus_Object *obj __UNUSED__,
dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, "s", &arr);
- EINA_LIST_FOREACH(e_config_profile_list(), l, name)
+ EINA_LIST_FREE(e_config_profile_list(), name)
{
dbus_message_iter_append_basic(&arr, DBUS_TYPE_STRING, &name);
+ free(name);
}
dbus_message_iter_close_container(&iter, &arr);