Commit b35c1f33 authored by Paolo Bonzini's avatar Paolo Bonzini Committed by Daniel P. Berrangé
Browse files

crypto: assert that qcrypto_hash_digest_len is in range



Otherwise unintended results could happen.  For example,
Coverity reports a division by zero in qcrypto_afsplit_hash.
While this cannot really happen, it shows that the contract
of qcrypto_hash_digest_len can be improved.

Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
parent e7ed11f0
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -36,9 +36,7 @@ static size_t qcrypto_hash_alg_size[QCRYPTO_HASH_ALG__MAX] = {

size_t qcrypto_hash_digest_len(QCryptoHashAlgorithm alg)
{
    if (alg >= G_N_ELEMENTS(qcrypto_hash_alg_size)) {
        return 0;
    }
    assert(alg < G_N_ELEMENTS(qcrypto_hash_alg_size));
    return qcrypto_hash_alg_size[alg];
}