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

Simon McVittie smcv at kemper.freedesktop.org
Thu Sep 26 08:33:02 PDT 2013


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

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 04b25a5..9aac94a 100644
--- a/telepathy-glib/account.c
+++ b/telepathy-glib/account.c
@@ -3482,6 +3482,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