[next] telepathy-glib: Account: don't crash if a CM returns a non-(ays) Avatar

Simon McVittie smcv at kemper.freedesktop.org
Thu Sep 26 10:35:17 PDT 2013


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

Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date:   Thu Sep 26 14:22:25 2013 +0100

Account: don't crash if a CM returns a non-(ays) Avatar

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69849
Reviewed-by: Xavier Claessens <xavier.claessens at collabora.co.uk>

---

 telepathy-glib/account.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index a342fd4..24dbd00 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -3559,6 +3559,12 @@ _tp_account_got_avatar_cb (TpProxy *proxy,
       DEBUG ("Failed to get avatar: %s", error->message);
       g_simple_async_result_set_from_error (result, error);
     }
+  else if (!G_VALUE_HOLDS (out_Value, TP_STRUCT_TYPE_AVATAR))
+    {
+      DEBUG ("Avatar had wrong type: %s", G_VALUE_TYPE_NAME (out_Value));
+      g_simple_async_result_set_error (result, TP_ERROR, TP_ERROR_CONFUSED,
+          "Incorrect type for Avatar property");
+    }
   else
     {
       avatar = g_value_get_boxed (out_Value);



More information about the telepathy-commits mailing list