]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
crypto: fix mistaken setting of Error in success code path
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 18 Nov 2015 14:42:40 +0000 (14:42 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 18 Nov 2015 14:56:58 +0000 (14:56 +0000)
The qcrypto_tls_session_check_certificate() method was setting
an Error even when the ACL check suceeded. This didn't affect
the callers detection of errors because they relied on the
function return status, but this did cause a memory leak since
the caller would not free an Error they did not expect to be
set.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
crypto/tlssession.c

index ffc5c47949630a673d97eef9dbf8340d9eb58922..373552942cceca5d7c77d3b5eae1cc0dee2a1e42 100644 (file)
@@ -304,9 +304,9 @@ qcrypto_tls_session_check_certificate(QCryptoTLSSession *session,
 
                 allow = qemu_acl_party_is_allowed(acl, session->peername);
 
-                error_setg(errp, "TLS x509 ACL check for %s is %s",
-                           session->peername, allow ? "allowed" : "denied");
                 if (!allow) {
+                    error_setg(errp, "TLS x509 ACL check for %s is denied",
+                               session->peername);
                     goto error;
                 }
             }