summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/2lib/2hwcrypto.c3
-rw-r--r--firmware/2lib/2sha256_arm.c3
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);
}