aboutsummaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2019-12-04 10:36:08 +0100
committerMarkus Armbruster <armbru@redhat.com>2019-12-18 08:36:15 +0100
commit8cb846db9e026dac849698208fbebb2991d9754d (patch)
tree09f57d87ce3502067bbf1988ba6dd9b7f276101c /crypto
parentdeda497b846addcc6841274a7ac17e13d3eb146c (diff)
downloadqemu-8cb846db9e026dac849698208fbebb2991d9754d.zip
qemu-8cb846db9e026dac849698208fbebb2991d9754d.tar.gz
qemu-8cb846db9e026dac849698208fbebb2991d9754d.tar.bz2
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>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/tlscredsx509.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c
index 01fc304..53a4368 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;