mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-09-20 17:17:23 +00:00
Add guard to prevent wraparound if SIZE_MAX > UINT64_MAX in chacha20
Signed-off-by: Ben Taylor <[email protected]>
This commit is contained in:
@@ -212,6 +212,12 @@ static int chacha20_check_counter_wrap(const mbedtls_chacha20_context *ctx,
|
||||
return size == 0U ? 0 : MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA;
|
||||
}
|
||||
|
||||
#if SIZE_MAX >= UINT64_MAX
|
||||
if (size > UINT64_MAX / 2) {
|
||||
return MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ctx->keystream_bytes_used < CHACHA20_BLOCK_SIZE_BYTES) {
|
||||
available_keystream =
|
||||
CHACHA20_BLOCK_SIZE_BYTES - ctx->keystream_bytes_used;
|
||||
|
||||
Reference in New Issue
Block a user