[next] telepathy-glib: base-client: handle clients being NULL

Simon McVittie smcv at kemper.freedesktop.org
Wed Sep 17 06:17:25 PDT 2014


Module: telepathy-glib
Branch: next
Commit: 93202fe5ac36f495581f61649b2494cbc0bac7e7
URL:    http://cgit.freedesktop.org/telepathy/telepathy-glib/commit/?id=93202fe5ac36f495581f61649b2494cbc0bac7e7

Author: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
Date:   Mon May 12 12:29:35 2014 +0200

base-client: handle clients being NULL

May happen if tp_base_client_dup_handled_channels() is called before any
client has been registered.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77882
Reviewed-by: Simon McVittie

---

 telepathy-glib/base-client.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/telepathy-glib/base-client.c b/telepathy-glib/base-client.c
index 1643be1..767ddc2 100644
--- a/telepathy-glib/base-client.c
+++ b/telepathy-glib/base-client.c
@@ -1062,9 +1062,11 @@ tp_base_client_dup_handled_channels (TpBaseClient *self)
 
   g_return_val_if_fail (self->priv->flags & CLIENT_IS_HANDLER, NULL);
 
-  set = g_hash_table_new (g_str_hash, g_str_equal);
-
   clients = g_object_get_qdata (G_OBJECT (self->priv->dbus), clients_quark ());
+  if (clients == NULL)
+    return NULL;
+
+  set = g_hash_table_new (g_str_hash, g_str_equal);
 
   g_hash_table_iter_init (&iter, clients);
   while (g_hash_table_iter_next (&iter, NULL, &value))



More information about the telepathy-commits mailing list