Use exact-size buffers for inputs and outputs to library functions in tests

Signed-off-by: Gabor Mezei <gabor.mezei@arm.com>
diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function
index f90fee3..cf22e37 100644
--- a/tests/suites/test_suite_mpi.function
+++ b/tests/suites/test_suite_mpi.function
@@ -890,12 +890,13 @@
     #define MAX_LEN 64
     mbedtls_mpi_uint *X = NULL;
     mbedtls_mpi_uint *Y = NULL;
-    mbedtls_mpi_uint buff_m[MAX_LEN];
+    mbedtls_mpi_uint *buff_m = NULL;
     mbedtls_mpi_mod_modulus m;
     size_t limbs_X = CHARS_TO_LIMBS( input_X->len );
     size_t limbs_Y = CHARS_TO_LIMBS( input_Y->len );
     size_t len_X = limbs_X * sizeof( mbedtls_mpi_uint );
     size_t len_Y = limbs_Y * sizeof( mbedtls_mpi_uint );
+    size_t len_m = len_Y;
 
     TEST_ASSERT( limbs_X <= MAX_LEN );
     TEST_ASSERT( limbs_Y <= MAX_LEN );
@@ -903,7 +904,8 @@
     ASSERT_ALLOC( X, len_X );
     ASSERT_ALLOC( Y, len_Y );
 
-    memset( buff_m, 0, MAX_LEN * sizeof( mbedtls_mpi_uint ) );
+    ASSERT_ALLOC( buff_m, len_m );
+    memset( buff_m, 0, len_m );
     mbedtls_mpi_mod_modulus_init( &m );
     TEST_ASSERT( mbedtls_mpi_mod_modulus_setup(
                         &m, buff_m, limbs_Y,
@@ -946,6 +948,7 @@
     mbedtls_free( Y );
 
     mbedtls_mpi_mod_modulus_free( &m );
+    mbedtls_free( buff_m );
 
     #undef MAX_LEN
 }
@@ -960,7 +963,7 @@
     mbedtls_mpi_uint *tmp_Y = NULL;
     mbedtls_mpi_uint *X = NULL;
     mbedtls_mpi_uint *Y = NULL;
-    mbedtls_mpi_uint buff_m[MAX_LEN];
+    mbedtls_mpi_uint *buff_m = NULL;
     mbedtls_mpi_mod_modulus m;
     size_t limbs_X = CHARS_TO_LIMBS( input_X->len );
     size_t limbs_Y = CHARS_TO_LIMBS( input_Y->len );
@@ -974,7 +977,8 @@
     ASSERT_ALLOC( tmp_X, len_X );
     ASSERT_ALLOC( tmp_Y, len_Y );
 
-    memset( buff_m, 0, MAX_LEN * sizeof( mbedtls_mpi_uint ) );
+    ASSERT_ALLOC( buff_m, len_m );
+    memset( buff_m, 0, len_m );
     mbedtls_mpi_mod_modulus_init( &m );
     TEST_ASSERT( mbedtls_mpi_mod_modulus_setup(
                         &m, buff_m, limbs_X,
@@ -1023,6 +1027,7 @@
     mbedtls_free( Y );
 
     mbedtls_mpi_mod_modulus_free( &m );
+    mbedtls_free( buff_m );
 
     #undef MAX_LEN
 }