From 1e5c9f5aad5edc51e42f0c60fc9d9ca94a5ad1d2 Mon Sep 17 00:00:00 2001 From: Johannes Helmold Date: Thu, 23 Jan 2025 16:44:38 +0100 Subject: [PATCH] Fix: Prevent sporadic signals when loading reports. Now the returned error code of the functions gnutls_x509_crt_get_dn (..) and gnutls_x509_crt_get_issuer_dn (..) is considered to prevent the sporadic occurence of signals when loading reports. --- src/manage.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/manage.c b/src/manage.c index 06034a5da..053bd96a7 100644 --- a/src/manage.c +++ b/src/manage.c @@ -527,9 +527,12 @@ get_certificate_info (const gchar* certificate, gssize certificate_len, gchar *buffer; gnutls_x509_crt_get_dn (gnutls_cert, NULL, &buffer_size); buffer = g_malloc (buffer_size); - gnutls_x509_crt_get_dn (gnutls_cert, buffer, &buffer_size); - - if (escape_dns) + if (gnutls_x509_crt_get_dn (gnutls_cert, buffer, &buffer_size)) + { + *subject = g_strdup (""); + g_free (buffer); + } + else if (escape_dns) { *subject = strescape_check_utf8 (buffer, NULL); g_free (buffer); @@ -544,9 +547,12 @@ get_certificate_info (const gchar* certificate, gssize certificate_len, gchar *buffer; gnutls_x509_crt_get_issuer_dn (gnutls_cert, NULL, &buffer_size); buffer = g_malloc (buffer_size); - gnutls_x509_crt_get_issuer_dn (gnutls_cert, buffer, &buffer_size); - - if (escape_dns) + if (gnutls_x509_crt_get_issuer_dn (gnutls_cert, buffer, &buffer_size)) + { + *issuer = g_strdup (""); + g_free (buffer); + } + else if (escape_dns) { *issuer = strescape_check_utf8 (buffer, NULL); g_free (buffer);