diff --git a/tests/suites/test_suite_mpi.function b/tests/suites/test_suite_mpi.function
index 134d220..2d68f8d 100644
--- a/tests/suites/test_suite_mpi.function
+++ b/tests/suites/test_suite_mpi.function
@@ -33,14 +33,14 @@
 {
     mbedtls_mpi X;
     char str[1000];
-    size_t len = output_size;
+    size_t len;
 
     mbedtls_mpi_init( &X );
 
     TEST_ASSERT( mbedtls_mpi_read_string( &X, radix_X, input_X ) == result_read );
     if( result_read == 0 )
     {
-        TEST_ASSERT( mbedtls_mpi_write_string( &X, radix_A, str, &len ) == result_write );
+        TEST_ASSERT( mbedtls_mpi_write_string( &X, radix_A, str, output_size, &len ) == result_write );
         if( result_write == 0 )
         {
             TEST_ASSERT( strcasecmp( str, input_A ) == 0 );
@@ -58,7 +58,7 @@
     mbedtls_mpi X;
     unsigned char str[1000];
     unsigned char buf[1000];
-    size_t len = 1000;
+    size_t len;
     size_t input_len;
 
     mbedtls_mpi_init( &X );
@@ -66,7 +66,7 @@
     input_len = unhexify( buf, input_X );
 
     TEST_ASSERT( mbedtls_mpi_read_binary( &X, buf, input_len ) == 0 );
-    TEST_ASSERT( mbedtls_mpi_write_string( &X, radix_A, (char *) str, &len ) == 0 );
+    TEST_ASSERT( mbedtls_mpi_write_string( &X, radix_A, (char *) str, sizeof( str ), &len ) == 0 );
     TEST_ASSERT( strcmp( (char *) str, input_A ) == 0 );
 
 exit:
