diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function index b592c6eca..93bb9cc2a 100755 --- a/tests/suites/test_suite_psa_crypto.function +++ b/tests/suites/test_suite_psa_crypto.function @@ -589,9 +589,9 @@ void aead_encrypt_decrypt( int key_type_arg, char * key_hex, size_t input_size; unsigned char *output_data = NULL; size_t output_size = 0; - size_t output_length; + size_t output_length = 0; unsigned char *output_data2 = NULL; - size_t output_length2; + size_t output_length2 = 0; uint8_t nonce[16]; size_t nonce_length = 16; size_t tag_length = 16; @@ -629,19 +629,20 @@ void aead_encrypt_decrypt( int key_type_arg, char * key_hex, input_data, input_size, output_data, output_size, &output_length ) == expected_result ); - output_data2 = mbedtls_calloc( 1, output_length ); - TEST_ASSERT( output_data2 != NULL ); - - TEST_ASSERT( psa_aead_decrypt( slot, alg, - nonce, nonce_length, - additional_data, additional_data_length, - output_data, output_length - tag_length, output_data2, - output_length, &output_length2 ) == expected_result ); - if( PSA_SUCCESS == expected_result ) { + output_data2 = mbedtls_calloc( 1, output_length ); + TEST_ASSERT( output_data2 != NULL ); + + TEST_ASSERT( psa_aead_decrypt( slot, alg, + nonce, nonce_length, + additional_data, additional_data_length, + output_data, output_length - tag_length, output_data2, + output_length, &output_length2 ) == expected_result ); + + TEST_ASSERT( memcmp( input_data, output_data2, - input_size ) == 0 ); + input_size ) == 0 ); }