Fix loop index and output size parameter value
diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function
index f6a0d22..d366608 100755
--- a/tests/suites/test_suite_psa_crypto.function
+++ b/tests/suites/test_suite_psa_crypto.function
@@ -587,6 +587,7 @@
     unsigned char *input_data = NULL;
     size_t input_size;
     unsigned char *output_data = NULL;
+    size_t output_size = 0;
     size_t output_length;
     unsigned char *output_data2 = NULL;
     size_t output_length2;
@@ -604,14 +605,15 @@
     TEST_ASSERT( input_data != NULL );
     additional_data = unhexify_alloc( add_data, &additional_data_length );
     TEST_ASSERT( input_data != NULL );
-    output_data = mbedtls_calloc( 1, input_size + tag_length );
+    output_size = input_size + tag_length;
+    output_data = mbedtls_calloc( 1, output_size );
     TEST_ASSERT( output_data != NULL );
     if( alg == PSA_ALG_CCM )
     {
         nonce_length = 12;
     }
 
-    for( ; i < nonce_length; ++nonce_length )
+    for( ; i < nonce_length; ++i )
         nonce[i] = i;
 
     TEST_ASSERT( psa_crypto_init( ) == PSA_SUCCESS );
@@ -623,7 +625,7 @@
                                nonce, nonce_length,
                                additional_data, additional_data_length,
                                input_data, input_size, output_data,
-                               input_size, &output_length ) == PSA_SUCCESS );
+                               output_size, &output_length ) == PSA_SUCCESS );
 
     output_data2 = mbedtls_calloc( 1, output_length );
     TEST_ASSERT( output_data2 != NULL );