Merge branch 'bugfix/mbedtls_arguments' into 'master'

mbedtls: fix argument types and take care overflow warnings

Closes GCC-239

See merge request espressif/esp-idf!17847
This commit is contained in:
Mahavir Jain
2022-04-22 11:59:26 +08:00
5 changed files with 11 additions and 4 deletions

View File

@@ -185,7 +185,7 @@ static const unsigned char sha256_padding[64] = {
/* /*
* SHA-256 final digest * 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; int ret;
uint32_t last, padn; uint32_t last, padn;

View File

@@ -231,7 +231,7 @@ static const unsigned char sha512_padding[128] = {
/* /*
* SHA-512 final digest * 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; int ret;
size_t last, padn; size_t last, padn;

View File

@@ -322,7 +322,7 @@ static const unsigned char sha256_padding[64] = {
/* /*
* SHA-256 final digest * 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; int ret;
uint32_t last, padn; uint32_t last, padn;

View File

@@ -360,7 +360,7 @@ static const unsigned char sha512_padding[128] = {
/* /*
* SHA-512 final digest * 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; int ret;
size_t last, padn; size_t last, padn;

View File

@@ -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(&ctx, one_hundred_bs, 100));
TEST_ASSERT_EQUAL(0, mbedtls_sha512_update(&clone, 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)); TEST_ASSERT_EQUAL(0, mbedtls_sha512_finish(&ctx, sha384));
#pragma GCC diagnostic pop
mbedtls_sha512_free(&ctx); mbedtls_sha512_free(&ctx);
TEST_ASSERT_EQUAL_MEMORY_MESSAGE(sha384_thousand_bs, sha384, 48, "SHA512 original calculation"); 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)); TEST_ASSERT_EQUAL(0, mbedtls_sha512_finish(&clone, sha384));
#pragma GCC diagnostic pop
mbedtls_sha512_free(&clone); mbedtls_sha512_free(&clone);
TEST_ASSERT_EQUAL_MEMORY_MESSAGE(sha384_thousand_bs, sha384, 48, "SHA512 cloned calculation"); TEST_ASSERT_EQUAL_MEMORY_MESSAGE(sha384_thousand_bs, sha384, 48, "SHA512 cloned calculation");