[Telepathy-commits] [telepathy-mission-control/master] Check the Connection property type

Alberto Mardegan alberto.mardegan at nokia.com
Mon Nov 17 00:05:15 PST 2008


Make sure that the Connection property holds an object path, before using its
value.
---
 libmcclient/mc-account.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/libmcclient/mc-account.c b/libmcclient/mc-account.c
index 8ae2f39..41a9a88 100644
--- a/libmcclient/mc-account.c
+++ b/libmcclient/mc-account.c
@@ -482,11 +482,19 @@ update_property (gpointer key, gpointer ht_value, gpointer user_data)
     {
 	const gchar *object_path;
 	g_free (props->connection);
-	object_path = g_value_get_boxed (value);
-	if (object_path && strcmp (object_path, "/") != 0)
-	    props->connection = g_strdup (object_path);
+	if (G_LIKELY (G_VALUE_HOLDS (value, DBUS_TYPE_G_OBJECT_PATH)))
+	{
+	    object_path = g_value_get_boxed (value);
+	    if (object_path && strcmp (object_path, "/") != 0)
+		props->connection = g_strdup (object_path);
+	    else
+		props->connection = NULL;
+	}
 	else
+	{
+	    g_warning ("%s: %s not an object path", G_STRFUNC, name);
 	    props->connection = NULL;
+	}
     }
     else if (strcmp (name, "ConnectionStatus") == 0)
     {
-- 
1.5.6.5




More information about the Telepathy-commits mailing list