f1710638ed
Test-crypto-hash calls qcrypto_hash_bytesv/digest/base64 with errp=NULL, this will cause a NULL pointer dereference if afalg_driver doesn't support requested algos: ret = qcrypto_hash_afalg_driver.hash_bytesv(alg, iov, niov, result, resultlen, errp); if (ret == 0) { return ret; } error_free(*errp); // <--- here Because the error message is thrown away immediately, we should just pass NULL to hash_bytesv(). There is also the same problem in afalg-backend cipher & hmac, let's fix them together. Reviewed-by: Eric Blake <eblake@redhat.com> Reported-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Longpeng <longpeng2@huawei.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com> |
||
---|---|---|
.. | ||
aes.c | ||
afalg.c | ||
afalgpriv.h | ||
afsplit.c | ||
block-luks.c | ||
block-luks.h | ||
block-qcow.c | ||
block-qcow.h | ||
block.c | ||
blockpriv.h | ||
cipher-afalg.c | ||
cipher-builtin.c | ||
cipher-gcrypt.c | ||
cipher-nettle.c | ||
cipher.c | ||
cipherpriv.h | ||
desrfb.c | ||
hash-afalg.c | ||
hash-gcrypt.c | ||
hash-glib.c | ||
hash-nettle.c | ||
hash.c | ||
hashpriv.h | ||
hmac-gcrypt.c | ||
hmac-glib.c | ||
hmac-nettle.c | ||
hmac.c | ||
hmacpriv.h | ||
init.c | ||
ivgen-essiv.c | ||
ivgen-essiv.h | ||
ivgen-plain64.c | ||
ivgen-plain64.h | ||
ivgen-plain.c | ||
ivgen-plain.h | ||
ivgen.c | ||
ivgenpriv.h | ||
Makefile.objs | ||
pbkdf-gcrypt.c | ||
pbkdf-nettle.c | ||
pbkdf-stub.c | ||
pbkdf.c | ||
random-gcrypt.c | ||
random-gnutls.c | ||
random-platform.c | ||
secret.c | ||
tlscreds.c | ||
tlscredsanon.c | ||
tlscredspriv.h | ||
tlscredsx509.c | ||
tlssession.c | ||
trace-events | ||
xts.c |