Commit 65f26691 authored by Dan Winship's avatar Dan Winship

gtlscertificate: fix certificate list parsing with trailing comments

g_tls_certificate_list_new_from_file() was supposed to ignore non-PEM
content, but it accidentally required that there not be anything after
the last certificate. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=727692
parent 6c31eeb6
......@@ -476,19 +476,24 @@ g_tls_certificate_list_new_from_file (const gchar *file,
{
gchar *cert_pem;
GTlsCertificate *cert = NULL;
GError *parse_error = NULL;
cert_pem = parse_next_pem_certificate (&p, end, FALSE, error);
cert_pem = parse_next_pem_certificate (&p, end, FALSE, &parse_error);
if (cert_pem)
{
cert = g_tls_certificate_new_internal (cert_pem, NULL, error);
g_free (cert_pem);
}
{
cert = g_tls_certificate_new_internal (cert_pem, NULL, &parse_error);
g_free (cert_pem);
}
if (!cert)
{
g_list_free_full (queue.head, g_object_unref);
queue.head = NULL;
break;
}
{
if (parse_error)
{
g_propagate_error (error, parse_error);
g_list_free_full (queue.head, g_object_unref);
queue.head = NULL;
}
break;
}
g_queue_push_tail (&queue, cert);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment