1
0
Fork 0
mirror of https://github.com/yuzu-emu/mbedtls.git synced 2025-03-08 10:09:54 +00:00

Reduce stack usage of test_suite_pk

Reduce the stack usage of the `test_suite_pk` by reducing the
size of the buffers used in the tests, to a reasonable big enough size.
This commit is contained in:
Ron Eldor 2018-11-21 13:44:31 +02:00
parent d28b9b3c5d
commit 6827d1c588

View file

@ -125,18 +125,18 @@ void pk_rsa_verify_test_vec( char *message_hex_string, int digest,
int mod, int radix_N, char *input_N, int radix_E, int mod, int radix_N, char *input_N, int radix_E,
char *input_E, char *result_hex_str, int result ) char *input_E, char *result_hex_str, int result )
{ {
unsigned char message_str[1000]; unsigned char message_str[128];
unsigned char hash_result[1000]; unsigned char hash_result[MBEDTLS_MD_MAX_SIZE];
unsigned char result_str[1000]; unsigned char result_str[128];
mbedtls_rsa_context *rsa; mbedtls_rsa_context *rsa;
mbedtls_pk_context pk; mbedtls_pk_context pk;
int msg_len; int msg_len;
mbedtls_pk_init( &pk ); mbedtls_pk_init( &pk );
memset( message_str, 0x00, 1000 ); memset( message_str, 0x00, sizeof( message_str ) );
memset( hash_result, 0x00, 1000 ); memset( hash_result, 0x00, sizeof( hash_result ) );
memset( result_str, 0x00, 1000 ); memset( result_str, 0x00, sizeof(result_str ) );
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 ); TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
rsa = mbedtls_pk_rsa( pk ); rsa = mbedtls_pk_rsa( pk );
@ -166,9 +166,9 @@ void pk_rsa_verify_ext_test_vec( char *message_hex_string, int digest,
int pk_type, int mgf1_hash_id, int salt_len, int pk_type, int mgf1_hash_id, int salt_len,
int result ) int result )
{ {
unsigned char message_str[1000]; unsigned char message_str[128];
unsigned char hash_result[1000]; unsigned char hash_result[MBEDTLS_MD_MAX_SIZE];
unsigned char result_str[1000]; unsigned char result_str[128];
mbedtls_rsa_context *rsa; mbedtls_rsa_context *rsa;
mbedtls_pk_context pk; mbedtls_pk_context pk;
mbedtls_pk_rsassa_pss_options pss_opts; mbedtls_pk_rsassa_pss_options pss_opts;
@ -178,9 +178,9 @@ void pk_rsa_verify_ext_test_vec( char *message_hex_string, int digest,
mbedtls_pk_init( &pk ); mbedtls_pk_init( &pk );
memset( message_str, 0x00, 1000 ); memset( message_str, 0x00, sizeof( message_str ) );
memset( hash_result, 0x00, 1000 ); memset( hash_result, 0x00, sizeof( hash_result ) );
memset( result_str, 0x00, 1000 ); memset( result_str, 0x00, sizeof( result_str ) );
TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 ); TEST_ASSERT( mbedtls_pk_setup( &pk, mbedtls_pk_info_from_type( MBEDTLS_PK_RSA ) ) == 0 );
rsa = mbedtls_pk_rsa( pk ); rsa = mbedtls_pk_rsa( pk );
@ -289,9 +289,9 @@ void pk_rsa_encrypt_test_vec( char *message_hex, int mod,
int radix_E, char *input_E, int radix_E, char *input_E,
char *result_hex, int ret ) char *result_hex, int ret )
{ {
unsigned char message[1000]; unsigned char message[16];
unsigned char output[1000]; unsigned char output[300];
unsigned char result[1000]; unsigned char result[256];
size_t msg_len, olen, res_len; size_t msg_len, olen, res_len;
rnd_pseudo_info rnd_info; rnd_pseudo_info rnd_info;
mbedtls_rsa_context *rsa; mbedtls_rsa_context *rsa;
@ -332,9 +332,9 @@ void pk_rsa_decrypt_test_vec( char *cipher_hex, int mod,
int radix_E, char *input_E, int radix_E, char *input_E,
char *clear_hex, int ret ) char *clear_hex, int ret )
{ {
unsigned char clear[1000]; unsigned char clear[16];
unsigned char output[1000]; unsigned char output[256];
unsigned char cipher[1000]; unsigned char cipher[256];
size_t clear_len, olen, cipher_len; size_t clear_len, olen, cipher_len;
rnd_pseudo_info rnd_info; rnd_pseudo_info rnd_info;
mbedtls_mpi N, P, Q, E; mbedtls_mpi N, P, Q, E;
@ -463,8 +463,8 @@ void pk_rsa_alt( )
mbedtls_rsa_context raw; mbedtls_rsa_context raw;
mbedtls_pk_context rsa, alt; mbedtls_pk_context rsa, alt;
mbedtls_pk_debug_item dbg_items[10]; mbedtls_pk_debug_item dbg_items[10];
unsigned char hash[50], sig[1000]; unsigned char hash[50], sig[64];
unsigned char msg[50], ciph[1000], test[1000]; unsigned char msg[50], ciph[64], test[50];
size_t sig_len, ciph_len, test_len; size_t sig_len, ciph_len, test_len;
int ret = MBEDTLS_ERR_PK_TYPE_MISMATCH; int ret = MBEDTLS_ERR_PK_TYPE_MISMATCH;