random(4): Fix a regression in short AES mode reads
In r349154, random device reads of size < 16 bytes (AES block size) were accidentally broken to loop forever. Correct the loop condition for small reads. Reported by: pho Reviewed by: delphij Approved by: secteam(delphij) Differential Revision: https://reviews.freebsd.org/D20686
This commit is contained in:
parent
9fc6ef7193
commit
b96ef4b59c
@ -489,7 +489,7 @@ random_fortuna_genbytes(uint8_t *buf, size_t bytecount,
|
||||
if (!random_chachamode)
|
||||
chunk_size = rounddown(chunk_size, RANDOM_BLOCKSIZE);
|
||||
|
||||
while (bytecount >= chunk_size) {
|
||||
while (bytecount >= chunk_size && chunk_size > 0) {
|
||||
randomdev_keystream(p_key, p_counter, buf, chunk_size);
|
||||
|
||||
buf += chunk_size;
|
||||
|
Loading…
x
Reference in New Issue
Block a user