Merge remote-tracking branch 'origin/pr/2364' into mbedtls-2.16

* origin/pr/2364:
  Increase okm_hex buffer to contain null character
  Minor modifications to hkdf test
  Add explanation for okm_string size
  Update ChangeLog
  Reduce buffer size of okm
  Reduce Stack usage of hkdf test function
This commit is contained in:
Jaeden Amero 2019-04-05 13:53:22 +01:00
commit 9bfcebfe27
2 changed files with 13 additions and 8 deletions

View File

@ -23,6 +23,7 @@ Bugfix
Christian Walther in #2239. Christian Walther in #2239.
* Fix potential memory leak in X.509 self test. Found and fixed by * Fix potential memory leak in X.509 self test. Found and fixed by
Junhwan Park, #2106. Junhwan Park, #2106.
* Reduce stack usage of hkdf tests. Fixes #2195.
Changes Changes
* Return from various debugging routines immediately if the * Return from various debugging routines immediately if the

View File

@ -14,12 +14,16 @@ void test_hkdf( int md_alg, char *hex_ikm_string, char *hex_salt_string,
{ {
int ret; int ret;
size_t ikm_len, salt_len, info_len, okm_len; size_t ikm_len, salt_len, info_len, okm_len;
unsigned char ikm[1024] = { '\0' }; unsigned char ikm[128] = { '\0' };
unsigned char salt[1024] = { '\0' }; unsigned char salt[128] = { '\0' };
unsigned char info[1024] = { '\0' }; unsigned char info[128] = { '\0' };
unsigned char expected_okm[1024] = { '\0' }; unsigned char expected_okm[128] = { '\0' };
unsigned char okm[1024] = { '\0' }; unsigned char okm[128] = { '\0' };
unsigned char okm_string[1000] = { '\0' }; /*
* okm_hex is the string representation of okm,
* so its size is twice the size of okm, and an extra null-termination.
*/
unsigned char okm_hex[257] = { '\0' };
const mbedtls_md_info_t *md = mbedtls_md_info_from_type( md_alg ); const mbedtls_md_info_t *md = mbedtls_md_info_from_type( md_alg );
TEST_ASSERT( md != NULL ); TEST_ASSERT( md != NULL );
@ -34,8 +38,8 @@ void test_hkdf( int md_alg, char *hex_ikm_string, char *hex_salt_string,
TEST_ASSERT( ret == 0 ); TEST_ASSERT( ret == 0 );
// Run hexify on it so that it looks nicer if the assertion fails // Run hexify on it so that it looks nicer if the assertion fails
hexify( okm_string, okm, okm_len ); hexify( okm_hex, okm, okm_len );
TEST_ASSERT( !strcmp( (char *)okm_string, hex_okm_string ) ); TEST_ASSERT( !strcmp( (char *)okm_hex, hex_okm_string ) );
} }
/* END_CASE */ /* END_CASE */