From 4a7f36a52a8a6595916b2e6cc10818e2b13eed7c Mon Sep 17 00:00:00 2001 From: Anton Maklakov Date: Wed, 9 Mar 2022 11:32:20 +0700 Subject: [PATCH 1/2] mbedtls: fix argument types to match mbedtls/shaXXX.h --- components/mbedtls/port/sha/dma/esp_sha256.c | 2 +- components/mbedtls/port/sha/dma/esp_sha512.c | 2 +- components/mbedtls/port/sha/parallel_engine/esp_sha256.c | 2 +- components/mbedtls/port/sha/parallel_engine/esp_sha512.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/mbedtls/port/sha/dma/esp_sha256.c b/components/mbedtls/port/sha/dma/esp_sha256.c index d179a9042d..7246bf6b22 100644 --- a/components/mbedtls/port/sha/dma/esp_sha256.c +++ b/components/mbedtls/port/sha/dma/esp_sha256.c @@ -185,7 +185,7 @@ static const unsigned char sha256_padding[64] = { /* * SHA-256 final digest */ -int mbedtls_sha256_finish( mbedtls_sha256_context *ctx, unsigned char output[32] ) +int mbedtls_sha256_finish( mbedtls_sha256_context *ctx, unsigned char *output ) { int ret; uint32_t last, padn; diff --git a/components/mbedtls/port/sha/dma/esp_sha512.c b/components/mbedtls/port/sha/dma/esp_sha512.c index b57f9f151b..cc813f2685 100644 --- a/components/mbedtls/port/sha/dma/esp_sha512.c +++ b/components/mbedtls/port/sha/dma/esp_sha512.c @@ -231,7 +231,7 @@ static const unsigned char sha512_padding[128] = { /* * SHA-512 final digest */ -int mbedtls_sha512_finish( mbedtls_sha512_context *ctx, unsigned char output[64] ) +int mbedtls_sha512_finish( mbedtls_sha512_context *ctx, unsigned char *output ) { int ret; size_t last, padn; diff --git a/components/mbedtls/port/sha/parallel_engine/esp_sha256.c b/components/mbedtls/port/sha/parallel_engine/esp_sha256.c index 20c51e42ab..311a5f241c 100644 --- a/components/mbedtls/port/sha/parallel_engine/esp_sha256.c +++ b/components/mbedtls/port/sha/parallel_engine/esp_sha256.c @@ -322,7 +322,7 @@ static const unsigned char sha256_padding[64] = { /* * SHA-256 final digest */ -int mbedtls_sha256_finish( mbedtls_sha256_context *ctx, unsigned char output[32] ) +int mbedtls_sha256_finish( mbedtls_sha256_context *ctx, unsigned char *output ) { int ret; uint32_t last, padn; diff --git a/components/mbedtls/port/sha/parallel_engine/esp_sha512.c b/components/mbedtls/port/sha/parallel_engine/esp_sha512.c index bd83b39960..8e7562f117 100644 --- a/components/mbedtls/port/sha/parallel_engine/esp_sha512.c +++ b/components/mbedtls/port/sha/parallel_engine/esp_sha512.c @@ -360,7 +360,7 @@ static const unsigned char sha512_padding[128] = { /* * SHA-512 final digest */ -int mbedtls_sha512_finish( mbedtls_sha512_context *ctx, unsigned char output[64] ) +int mbedtls_sha512_finish( mbedtls_sha512_context *ctx, unsigned char *output ) { int ret; size_t last, padn; From 434bd5e52e5132aa0749910a29b83cc4c5509bca Mon Sep 17 00:00:00 2001 From: Anton Maklakov Date: Tue, 22 Feb 2022 10:18:34 +0700 Subject: [PATCH 2/2] mbedtls: suppress -Wstringop-overflow --- components/mbedtls/test/test_mbedtls_sha.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/mbedtls/test/test_mbedtls_sha.c b/components/mbedtls/test/test_mbedtls_sha.c index 7f78b4da5e..87c644c0f6 100644 --- a/components/mbedtls/test/test_mbedtls_sha.c +++ b/components/mbedtls/test/test_mbedtls_sha.c @@ -245,12 +245,19 @@ TEST_CASE("mbedtls SHA384 clone", "[mbedtls][") TEST_ASSERT_EQUAL(0, mbedtls_sha512_update(&ctx, one_hundred_bs, 100)); TEST_ASSERT_EQUAL(0, mbedtls_sha512_update(&clone, one_hundred_bs, 100)); } +/* intended warning supression: is384 == true */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-overflow" TEST_ASSERT_EQUAL(0, mbedtls_sha512_finish(&ctx, sha384)); +#pragma GCC diagnostic pop mbedtls_sha512_free(&ctx); TEST_ASSERT_EQUAL_MEMORY_MESSAGE(sha384_thousand_bs, sha384, 48, "SHA512 original calculation"); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-overflow" TEST_ASSERT_EQUAL(0, mbedtls_sha512_finish(&clone, sha384)); +#pragma GCC diagnostic pop mbedtls_sha512_free(&clone); TEST_ASSERT_EQUAL_MEMORY_MESSAGE(sha384_thousand_bs, sha384, 48, "SHA512 cloned calculation");