[telepathy-mission-control/master] McdConnection: presence_get_statuses_cb: don't assert and crash if Statuses has an unexpected D-Bus type

Simon McVittie simon.mcvittie at collabora.co.uk
Mon Apr 13 03:56:38 PDT 2009


Design principle: whatever the other processes on D-Bus do, don't crash.
---
 src/mcd-connection.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/mcd-connection.c b/src/mcd-connection.c
index 875121d..8d0ef8c 100644
--- a/src/mcd-connection.c
+++ b/src/mcd-connection.c
@@ -322,6 +322,13 @@ presence_get_statuses_cb (TpProxy *proxy, const GValue *v_statuses,
                    error->message);
         return;
     }
+    else if (G_VALUE_TYPE (v_statuses) != TP_HASH_TYPE_SIMPLE_STATUS_SPEC_MAP)
+    {
+        g_warning ("%s: Get(Statuses) returned the wrong type: %s",
+                   mcd_account_get_unique_name (priv->account),
+                   G_VALUE_TYPE_NAME (v_statuses));
+        return;
+    }
 
     if (!priv->recognized_presences)
         priv->recognized_presences =
-- 
1.5.6.5




More information about the telepathy-commits mailing list