diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-09-26 14:22:25 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-09-26 16:30:13 +0100 |
commit | e574b30a5e0b884838a6b04526528490dfc5ce91 (patch) | |
tree | d441f5479b6a227be8f5ca5b5073a799b4b7e6f9 /telepathy-glib | |
parent | 03e2bb3d09b527c9144c3186d2f0f9aa7113aac9 (diff) | |
download | telepathy-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.c | 6 |
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); |