--- a/libpurple/plugins/ssl/ssl-gnutls.c Fri Feb 07 16:32:40 2014 -0500 +++ b/libpurple/plugins/ssl/ssl-gnutls.c Sat Feb 08 00:57:28 2014 +0100 @@ -412,8 +412,10 @@ gnutls_set_default_priority(gnutls_data->session); #endif - gnutls_server_name_set(gnutls_data->session, GNUTLS_NAME_DNS, gsc->host, - strlen(gsc->host)); + if (gsc->host) { + gnutls_server_name_set(gnutls_data->session, GNUTLS_NAME_DNS, + gsc->host, strlen(gsc->host)); + } gnutls_credentials_set(gnutls_data->session, GNUTLS_CRD_CERTIFICATE, xcred); @@ -1192,6 +1194,7 @@ /* Pull out the SHA1 checksum */ sha_bin = x509_sha1sum(crt); + g_return_val_if_fail(sha_bin != NULL, NULL); sha_asc = purple_base16_encode_chunked(sha_bin->data, sha_bin->len); /* Get the cert Common Name */