From 1d66d415b8d8bc031f68bf4fc04c131cef3a5d30 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Wed, 20 Apr 2016 07:54:19 +0200 Subject: [PATCH] libnm-core: empty key is not a pkcs12 file nmcli> set 802-1x.ca-cert file:///tmp/certs/eaptest_ca_cert.pem (process:31015): libnm-CRITICAL **: crypto_is_pkcs12_data: assertion 'data != NULL' failed Error: failed to set 'ca-cert' property: PEM certificate had no start tag '-----BEGIN CERTIFICATE-----'. --- libnm-core/crypto.c | 3 +++ libnm-util/crypto.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/libnm-core/crypto.c b/libnm-core/crypto.c index ecbe6c6e15..c27f5c0dc9 100644 --- a/libnm-core/crypto.c +++ b/libnm-core/crypto.c @@ -641,6 +641,9 @@ crypto_is_pkcs12_data (const guint8 *data, GError *local = NULL; gboolean success; + if (!data_len) + return FALSE; + g_return_val_if_fail (data != NULL, FALSE); if (!crypto_init (error)) diff --git a/libnm-util/crypto.c b/libnm-util/crypto.c index 7fdf0f7215..3dd89f951a 100644 --- a/libnm-util/crypto.c +++ b/libnm-util/crypto.c @@ -654,6 +654,9 @@ crypto_is_pkcs12_data (const GByteArray *data) g_return_val_if_fail (data != NULL, FALSE); + if (!data->len) + return FALSE; + success = crypto_verify_pkcs12 (data, NULL, &error); if (success == FALSE) { /* If the error was just a decryption error, then it's pkcs#12 */