From: yujun <[email protected]>
qcrypto_get_x509_cert_fingerprint() reports gnutls_strerror(ret) when
gnutls_x509_crt_init() fails, but ret is still the initial value -1.
Store the gnutls return code before formatting the error, matching
other gnutls call sites in the tree.
Fixes: 2183ab6251 ("crypto/x509-utils: Check for error from
gnutls_x509_crt_init()")
Signed-off-by: yujun <[email protected]>
Reviewed-by: Daniel P. Berrangé <[email protected]>
Signed-off-by: Daniel P. Berrangé <[email protected]>
(cherry picked from commit 4952681a5fdc29dc74396756ab85f90ee15ea9bc)
Signed-off-by: Michael Tokarev <[email protected]>
diff --git a/crypto/x509-utils.c b/crypto/x509-utils.c
index 39bb6d4d8c3..1843488bca3 100644
--- a/crypto/x509-utils.c
+++ b/crypto/x509-utils.c
@@ -46,7 +46,8 @@ int qcrypto_get_x509_cert_fingerprint(uint8_t *cert, size_t
size,
return -1;
}
- if (gnutls_x509_crt_init(&crt) < 0) {
+ ret = gnutls_x509_crt_init(&crt);
+ if (ret < 0) {
error_setg(errp, "Unable to initialize certificate: %s",
gnutls_strerror(ret));
return -1;
--
2.47.3