diff options
| author | Markus Armbruster <armbru@redhat.com> | 2019-12-04 10:36:08 +0100 |
|---|---|---|
| committer | Markus Armbruster <armbru@redhat.com> | 2019-12-18 08:36:15 +0100 |
| commit | 8cb846db9e026dac849698208fbebb2991d9754d (patch) | |
| tree | 09f57d87ce3502067bbf1988ba6dd9b7f276101c | |
| parent | deda497b846addcc6841274a7ac17e13d3eb146c (diff) | |
| download | focaccia-qemu-8cb846db9e026dac849698208fbebb2991d9754d.tar.gz focaccia-qemu-8cb846db9e026dac849698208fbebb2991d9754d.zip | |
crypto: Fix certificate file error handling crash bug
qcrypto_tls_creds_load_cert() passes uninitialized GError *gerr by reference to g_file_get_contents(). When g_file_get_contents() fails, it'll try to set a GError. Unless @gerr is null by dumb luck, this logs a ERROR_OVERWRITTEN_WARNING warning message and leaves @gerr unchanged. qcrypto_tls_creds_load_cert() then dereferences the uninitialized @gerr. Fix by initializing @gerr properly. Fixes: 9a2fd4347c40321f5cbb4ab4220e759fcbf87d03 Cc: "Daniel P. Berrangé" <berrange@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20191204093625.14836-2-armbru@redhat.com> Acked-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
| -rw-r--r-- | crypto/tlscredsx509.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index 01fc304e5d..53a4368f49 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -380,7 +380,7 @@ qcrypto_tls_creds_load_cert(QCryptoTLSCredsX509 *creds, gnutls_x509_crt_t cert = NULL; g_autofree char *buf = NULL; gsize buflen; - GError *gerr; + GError *gerr = NULL; int ret = -1; int err; |