Message ID | 20241030101150.3023300-2-berrange@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | crypto: misc gcrypt hash/hmac fixes | expand |
diff --git a/crypto/hash-gcrypt.c b/crypto/hash-gcrypt.c index 73533a4949..22ddf394ec 100644 --- a/crypto/hash-gcrypt.c +++ b/crypto/hash-gcrypt.c @@ -49,7 +49,7 @@ static QCryptoHash *qcrypto_gcrypt_hash_new(QCryptoHashAlgo alg, Error **errp) { QCryptoHash *hash; - int ret; + gcry_error_t ret; hash = g_new(QCryptoHash, 1); hash->alg = alg; @@ -57,7 +57,7 @@ QCryptoHash *qcrypto_gcrypt_hash_new(QCryptoHashAlgo alg, Error **errp) ret = gcry_md_open((gcry_md_hd_t *) hash->opaque, qcrypto_hash_alg_map[alg], 0); - if (ret < 0) { + if (ret != 0) { error_setg(errp, "Unable to initialize hash algorithm: %s", gcry_strerror(ret));
Gcrypt does not return negative values on error, it returns non-zero values. This caused QEMU not to detect failure to open an unsupported hash, resulting in a later crash trying to use a NULL context. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- crypto/hash-gcrypt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)