Use correct size defines for buffers
Signed-off-by: Paul Elliott <paul.elliott@arm.com>
diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function
index 0f9093c..e420158 100644
--- a/tests/suites/test_suite_psa_crypto.function
+++ b/tests/suites/test_suite_psa_crypto.function
@@ -3170,14 +3170,15 @@
unsigned char *part_data = NULL;
unsigned char *final_data = NULL;
size_t output_size = 0;
+ size_t finish_output_size;
size_t part_data_size = 0;
size_t output_length = 0;
size_t key_bits = 0;
size_t tag_length = 0;
size_t tag_size = 0;
size_t nonce_length = 0;
- uint8_t nonce_buffer[16];
- uint8_t tag_buffer[16];
+ uint8_t nonce_buffer[PSA_AEAD_NONCE_MAX_SIZE];
+ uint8_t tag_buffer[PSA_AEAD_TAG_MAX_SIZE];
uint32_t part_offset = 0;
size_t part_length = 0;
size_t output_part_length = 0;
@@ -3198,7 +3199,7 @@
tag_length = PSA_AEAD_TAG_LENGTH( key_type, key_bits, alg );
- TEST_ASSERT( tag_length <= 16 );
+ TEST_ASSERT( tag_length <= PSA_AEAD_TAG_MAX_SIZE );
output_size = PSA_AEAD_UPDATE_OUTPUT_SIZE( key_type, alg,
( input_data->len +
@@ -3206,9 +3207,13 @@
ASSERT_ALLOC( output_data, output_size );
- ASSERT_ALLOC( final_data, PSA_AEAD_FINISH_OUTPUT_MAX_SIZE );
+ finish_output_size = PSA_AEAD_FINISH_OUTPUT_SIZE( key_type, alg );
- operation = psa_aead_operation_init();
+ TEST_ASSERT( finish_output_size <= PSA_AEAD_FINISH_OUTPUT_MAX_SIZE );
+
+ ASSERT_ALLOC( final_data, finish_output_size );
+
+ operation = psa_aead_operation_init( );
status = psa_aead_encrypt_setup( &operation, key, alg );
@@ -3319,7 +3324,7 @@
}
PSA_ASSERT( psa_aead_finish( &operation, final_data,
- PSA_AEAD_FINISH_OUTPUT_MAX_SIZE,
+ finish_output_size,
&output_part_length,
tag_buffer, tag_length,
&tag_size ) );
@@ -3381,6 +3386,7 @@
unsigned char *final_data = NULL;
size_t part_data_size;
size_t output_size = 0;
+ size_t finish_output_size = 0;
size_t output_length = 0;
unsigned char *output_data2 = NULL;
size_t output_size2 = 0;
@@ -3389,8 +3395,8 @@
size_t tag_length = 0;
size_t tag_size = 0;
size_t nonce_length = 0;
- uint8_t nonce_buffer[16];
- uint8_t tag_buffer[16];
+ uint8_t nonce_buffer[PSA_AEAD_NONCE_MAX_SIZE];
+ uint8_t tag_buffer[PSA_AEAD_TAG_MAX_SIZE];
uint32_t part_offset = 0;
size_t part_length = 0;
size_t output_part_length = 0;
@@ -3413,14 +3419,19 @@
tag_length = PSA_AEAD_TAG_LENGTH( key_type, key_bits, alg );
- TEST_ASSERT( tag_length <= 16 );
+ TEST_ASSERT( tag_length <= PSA_AEAD_TAG_MAX_SIZE );
output_size = PSA_AEAD_UPDATE_OUTPUT_SIZE( key_type, alg, input_data->len );
ASSERT_ALLOC( output_data, output_size );
- ASSERT_ALLOC( final_data, PSA_AEAD_FINISH_OUTPUT_MAX_SIZE );
- operation = psa_aead_operation_init();
+ finish_output_size = PSA_AEAD_FINISH_OUTPUT_SIZE( key_type, alg );
+
+ TEST_ASSERT( finish_output_size <= PSA_AEAD_FINISH_OUTPUT_MAX_SIZE );
+
+ ASSERT_ALLOC( final_data, finish_output_size );
+
+ operation = psa_aead_operation_init( );
status = psa_aead_encrypt_setup( &operation, key, alg );
@@ -3567,7 +3578,7 @@
}
status = psa_aead_finish( &operation, final_data,
- PSA_AEAD_FINISH_OUTPUT_MAX_SIZE,
+ finish_output_size,
&output_part_length,
tag_buffer, tag_length,
&tag_size );
@@ -3612,7 +3623,7 @@
PSA_AEAD_DECRYPT_OUTPUT_MAX_SIZE( output_length +
tag_length ) );
- operation = psa_aead_operation_init();
+ operation = psa_aead_operation_init( );
status = psa_aead_decrypt_setup( &operation, key, alg );
@@ -3735,7 +3746,7 @@
}
PSA_ASSERT( psa_aead_verify( &operation, final_data,
- PSA_AEAD_FINISH_OUTPUT_MAX_SIZE,
+ finish_output_size,
&output_part_length,
tag_buffer, tag_length ) );
@@ -3782,11 +3793,12 @@
unsigned char *final_data = NULL;
size_t part_data_size;
size_t output_size = 0;
+ size_t verify_output_size = 0;
size_t output_length = 0;
size_t key_bits = 0;
size_t tag_length = 0;
size_t nonce_length = 0;
- uint8_t nonce_buffer[16];
+ uint8_t nonce_buffer[PSA_AEAD_NONCE_MAX_SIZE];
uint32_t part_offset = 0;
size_t part_length = 0;
size_t output_part_length = 0;
@@ -3813,9 +3825,12 @@
tag_length ) );
ASSERT_ALLOC( output_data, output_size );
- ASSERT_ALLOC( final_data, PSA_AEAD_VERIFY_OUTPUT_MAX_SIZE );
- operation = psa_aead_operation_init();
+ verify_output_size = PSA_AEAD_VERIFY_OUTPUT_SIZE( key_type, alg );
+ TEST_ASSERT( verify_output_size <= PSA_AEAD_VERIFY_OUTPUT_MAX_SIZE );
+ ASSERT_ALLOC( final_data, verify_output_size );
+
+ operation = psa_aead_operation_init( );
status = psa_aead_decrypt_setup( &operation, key, alg );
@@ -3963,11 +3978,10 @@
}
status = psa_aead_verify( &operation, final_data,
- PSA_AEAD_VERIFY_OUTPUT_MAX_SIZE,
- &output_part_length,
- ( input_data->x + input_data->len -
- tag_length ),
- tag_length );
+ verify_output_size,
+ &output_part_length,
+ ( input_data->x + input_data->len - tag_length ),
+ tag_length );
if( status != PSA_SUCCESS )
{