summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS6
-rw-r--r--telepathy-glib/tls-certificate.c13
2 files changed, 18 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 8cee030d2..1632032e1 100644
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,12 @@ Fixes:
• Always flag delivery reports with Non_Text_Content. (fd.o #61254, wjt)
+• Don't announce legacy Group channels twice (fd.o #52011; Jonny, Simon)
+
+• Don't crash if a broken connection manager signals a TLSCertificate
+ with no CertificateChainData, just invalidate the channel
+ (fd.o #61616, Guillaume)
+
telepathy-glib 0.21.0 (2013-04-03)
==================================
diff --git a/telepathy-glib/tls-certificate.c b/telepathy-glib/tls-certificate.c
index 2a2de5bdb..0f465d21c 100644
--- a/telepathy-glib/tls-certificate.c
+++ b/telepathy-glib/tls-certificate.c
@@ -250,7 +250,18 @@ tls_certificate_got_all_cb (TpProxy *proxy,
cert_data = tp_asv_get_boxed (properties, "CertificateChainData",
TP_ARRAY_TYPE_UCHAR_ARRAY_LIST);
- g_assert (cert_data != NULL);
+
+ if (cert_data == NULL)
+ {
+ GError e = { TP_DBUS_ERRORS, TP_DBUS_ERROR_INCONSISTENT,
+ "Missing CertificateChainData property" };
+
+ DEBUG ("Missing CertificateChainData property on %s",
+ tp_proxy_get_object_path (self));
+
+ tp_proxy_invalidate (proxy, &e);
+ return;
+ }
self->priv->cert_data = g_ptr_array_new_with_free_func (
(GDestroyNotify) g_bytes_unref);