summaryrefslogtreecommitdiff
path: root/telepathy-glib
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-26 14:22:25 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2013-09-26 16:30:13 +0100
commite574b30a5e0b884838a6b04526528490dfc5ce91 (patch)
treed441f5479b6a227be8f5ca5b5073a799b4b7e6f9 /telepathy-glib
parent03e2bb3d09b527c9144c3186d2f0f9aa7113aac9 (diff)
downloadtelepathy-glib-e574b30a5e0b884838a6b04526528490dfc5ce91.tar.gz
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@collabora.co.uk>
Diffstat (limited to 'telepathy-glib')
-rw-r--r--telepathy-glib/account.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/telepathy-glib/account.c b/telepathy-glib/account.c
index a342fd41d..24dbd001a 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);