Message ID | 20241010162024.988284-17-berrange@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [PULL,01/17] crypto: accumulative hashing API | expand |
On 10/10/24 13:20, Daniel P. Berrangé wrote: > 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> > --- > crypto/hash-nettle.c | 17 +++-------------- > 1 file changed, 3 insertions(+), 14 deletions(-) > > diff --git a/crypto/hash-nettle.c b/crypto/hash-nettle.c > index 570ce8a645..3b847aa60e 100644 > --- a/crypto/hash-nettle.c > +++ b/crypto/hash-nettle.c > @@ -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); Yay!
diff --git a/crypto/hash-nettle.c b/crypto/hash-nettle.c index 570ce8a645..3b847aa60e 100644 --- a/crypto/hash-nettle.c +++ b/crypto/hash-nettle.c @@ -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;