diff options
-rw-r--r-- | firmware/2lib/2hwcrypto.c | 3 | ||||
-rw-r--r-- | firmware/2lib/2sha256_arm.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/firmware/2lib/2hwcrypto.c b/firmware/2lib/2hwcrypto.c index f6cc5241..c472c29c 100644 --- a/firmware/2lib/2hwcrypto.c +++ b/firmware/2lib/2hwcrypto.c @@ -54,7 +54,8 @@ vb2_error_t vb2ex_hwcrypto_digest_extend(const uint8_t *buf, uint32_t size) shifted_data = buf + rem_size; vb2_sha256_transform_hwcrypto(vb2_sha_ctx.block, 1); - vb2_sha256_transform_hwcrypto(shifted_data, remaining_blocks); + if (remaining_blocks) + vb2_sha256_transform_hwcrypto(shifted_data, remaining_blocks); rem_size = new_size % VB2_SHA256_BLOCK_SIZE; diff --git a/firmware/2lib/2sha256_arm.c b/firmware/2lib/2sha256_arm.c index 556cd5c1..84d1f779 100644 --- a/firmware/2lib/2sha256_arm.c +++ b/firmware/2lib/2sha256_arm.c @@ -17,5 +17,6 @@ int sha256_ce_transform(uint32_t *state, const unsigned char *buf, int blocks); void vb2_sha256_transform_hwcrypto(const uint8_t *message, unsigned int block_nb) { - sha256_ce_transform(vb2_sha_ctx.h, message, block_nb); + if (block_nb) + sha256_ce_transform(vb2_sha_ctx.h, message, block_nb); } |