| Index: firmware/lib/cryptolib/sha2.c
|
| diff --git a/firmware/lib/cryptolib/sha2.c b/firmware/lib/cryptolib/sha2.c
|
| index aa2691766d08c834db81c6f461a8196fea70a1db..696b4e78d39a5f5281386075e389d692b0faeec7 100644
|
| --- a/firmware/lib/cryptolib/sha2.c
|
| +++ b/firmware/lib/cryptolib/sha2.c
|
| @@ -337,6 +337,9 @@ void SHA256_update(SHA256_CTX* ctx, const uint8_t* data, uint64_t len) {
|
| unsigned int new_len, rem_len, tmp_len;
|
| const uint8_t *shifted_data;
|
|
|
| + if (len > UINT32_MAX)
|
| + return;
|
| +
|
| tmp_len = SHA256_BLOCK_SIZE - ctx->len;
|
| rem_len = len < tmp_len ? (unsigned int)len : tmp_len;
|
|
|
| @@ -525,6 +528,9 @@ void SHA512_update(SHA512_CTX* ctx, const uint8_t* data,
|
| unsigned int new_len, rem_len, tmp_len;
|
| const uint8_t* shifted_data;
|
|
|
| + if (len > UINT32_MAX)
|
| + return;
|
| +
|
| tmp_len = SHA512_BLOCK_SIZE - ctx->len;
|
| rem_len = len < tmp_len ? (unsigned int)len : tmp_len;
|
|
|
|
|