crypto: drop obsolete back compat logic for old nettle

The nettle 2.x series declared all the hash functions with 'int' for
the data size. Since we dropped support for anything older than 3.4
we can assume nettle is using 'size_t' and thus avoid the back compat
looping logic.

Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2024-10-10 12:40:49 +01:00
parent 24a6271ebb
commit 95cc223afb

View File

@ -135,20 +135,9 @@ int qcrypto_nettle_hash_update(QCryptoHash *hash,
union qcrypto_hash_ctx *ctx = hash->opaque;
for (int i = 0; i < niov; i++) {
/*
* Some versions of nettle have functions
* declared with 'int' instead of 'size_t'
* so to be safe avoid writing more than
* UINT_MAX bytes at a time
*/
size_t len = iov[i].iov_len;
uint8_t *base = iov[i].iov_base;
while (len) {
size_t shortlen = MIN(len, UINT_MAX);
qcrypto_hash_alg_map[hash->alg].write(ctx, len, base);
len -= shortlen;
base += len;
}
qcrypto_hash_alg_map[hash->alg].write(ctx,
iov[i].iov_len,
iov[i].iov_base);
}
return 0;