From 0f7eacd772da0f61cf7cf26c25db58eab3d8c2f1 Mon Sep 17 00:00:00 2001 From: Dong Heng Date: Mon, 23 Dec 2019 16:57:05 +0800 Subject: [PATCH] fix(util): fix sha384/512 data calculation overflow --- components/util/src/sha512.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/components/util/src/sha512.c b/components/util/src/sha512.c index 92230a27..173a7c7e 100644 --- a/components/util/src/sha512.c +++ b/components/util/src/sha512.c @@ -256,9 +256,10 @@ int esp_sha384_finish(esp_sha384_t *ctx, void *dest) ctx->buffer[used++] = 0x80; - memset(ctx->buffer + used, 0, 112 - used); - - if (used > 112) { + if (used <= 112) + memset(ctx->buffer + used, 0, 112 - used); + else { + memset(ctx->buffer + used, 0, 128 - used); esp_sha512_transform(ctx, ctx->buffer); memset(ctx->buffer, 0, 112); }