aboutsummaryrefslogtreecommitdiffstats
path: root/src/empathy-roster-window.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2013-09-11 22:27:04 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2013-09-25 21:21:50 +0800
commita0602d0d2e8824394ba738a8677909b5c4676d95 (patch)
treea71d3f8c84c6b75b5eac81b3965b98ee870c3395 /src/empathy-roster-window.c
parentff897a9a71c4eb91548f40ab6ea09e17936cd8c1 (diff)
downloadgsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.tar
gsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.tar.gz
gsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.tar.bz2
gsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.tar.lz
gsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.tar.xz
gsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.tar.zst
gsoc2013-empathy-a0602d0d2e8824394ba738a8677909b5c4676d95.zip
menu_removed_cb: fix 'name' leak
https://bugzilla.gnome.org/show_bug.cgi?id=707885
Diffstat (limited to 'src/empathy-roster-window.c')
-rw-r--r--src/empathy-roster-window.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/empathy-roster-window.c b/src/empathy-roster-window.c
index 9dd7a4e75..667267f51 100644
--- a/src/empathy-roster-window.c
+++ b/src/empathy-roster-window.c
@@ -1360,16 +1360,22 @@ roster_window_favorite_chatroom_menu_removed_cb (
for (i = 0; i < n; i++)
{
- const gchar *name;
+ gchar *name;
- if (g_menu_model_get_item_attribute (
- G_MENU_MODEL (self->priv->rooms_section), i, "room-name",
- "s", &name)
- && !tp_strdiff (name, empathy_chatroom_get_name (chatroom)))
+ if (!g_menu_model_get_item_attribute (
+ G_MENU_MODEL (self->priv->rooms_section), i,
+ "room-name", "s", &name))
+ continue;
+
+ if (tp_strdiff (name, empathy_chatroom_get_name (chatroom)))
{
- g_menu_remove (self->priv->rooms_section, i);
- break;
+ g_free (name);
+ continue;
}
+
+ g_menu_remove (self->priv->rooms_section, i);
+ g_free (name);
+ break;
}
chatrooms = empathy_chatroom_manager_get_chatrooms (