Message ID | 20191204093625.14836-2-armbru@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Error handling fixes | expand |
On Wed, Dec 04, 2019 at 10:36:08AM +0100, Markus Armbruster wrote: > 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> > --- > crypto/tlscredsx509.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Acked-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
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;
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> --- crypto/tlscredsx509.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)