[next] telepathy-rakia: Channel managers: don't crash on foreach_channel() after close_all()

Simon McVittie smcv at kemper.freedesktop.org
Wed May 7 02:18:27 PDT 2014


Module: telepathy-rakia
Branch: next
Commit: fbda6232d2a0b1b13aa4811f9902f1ddf61598d7
URL:    http://cgit.freedesktop.org/telepathy/telepathy-rakia/commit/?id=fbda6232d2a0b1b13aa4811f9902f1ddf61598d7

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Tue Apr 22 14:44:44 2014 +0100

Channel managers: don't crash on foreach_channel() after close_all()

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77189

---

 rakia/media-manager.c |    3 +++
 rakia/text-manager.c  |    3 +++
 2 files changed, 6 insertions(+)

diff --git a/rakia/media-manager.c b/rakia/media-manager.c
index 1616547..23448ba 100644
--- a/rakia/media-manager.c
+++ b/rakia/media-manager.c
@@ -496,6 +496,9 @@ rakia_media_manager_foreach_channel (TpChannelManager *manager,
   RakiaMediaManagerPrivate *priv = RAKIA_MEDIA_MANAGER_GET_PRIVATE (fac);
   guint i;
 
+  if (priv->channels == NULL)
+    return;
+
   for (i = 0; i < priv->channels->len; i++)
     {
       TpExportableChannel *channel = TP_EXPORTABLE_CHANNEL (
diff --git a/rakia/text-manager.c b/rakia/text-manager.c
index 816f5bb..8c3cb86 100644
--- a/rakia/text-manager.c
+++ b/rakia/text-manager.c
@@ -220,6 +220,9 @@ rakia_text_manager_foreach_channel (TpChannelManager *manager,
   RakiaTextManagerPrivate *priv = RAKIA_TEXT_MANAGER_GET_PRIVATE (fac);
   struct _ForeachData data;
 
+  if (priv->channels == NULL)
+    return;
+
   data.func = func;
   data.user_data = user_data;
 



More information about the telepathy-commits mailing list