tests: write early data: Allocate buffer to write/read

Allocate the buffer to write/read early data. That
way in ASan builds. buffer overwrite/overread can
be detected.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
diff --git a/tests/suites/test_suite_ssl.function b/tests/suites/test_suite_ssl.function
index 6895efa..d1b694f 100644
--- a/tests/suites/test_suite_ssl.function
+++ b/tests/suites/test_suite_ssl.function
@@ -4457,7 +4457,8 @@
     mbedtls_test_handshake_test_options client_options;
     mbedtls_test_handshake_test_options server_options;
     mbedtls_ssl_session saved_session;
-    unsigned char buf[64];
+    unsigned char *buf = NULL;
+    uint32_t buf_size = 64;
     uint32_t max_early_data_size;
     uint32_t written_early_data_size = 0;
     uint32_t read_early_data_size = 0;
@@ -4469,6 +4470,7 @@
     mbedtls_ssl_session_init(&saved_session);
 
     PSA_INIT();
+    TEST_CALLOC(buf, buf_size);
 
     /*
      * Run first handshake to get a ticket from the server.
@@ -4528,23 +4530,22 @@
     TEST_EQUAL(ret, 0);
 
     while (written_early_data_size < max_early_data_size) {
-        size_t early_data_len = sizeof(buf);
         uint32_t remaining = max_early_data_size - written_early_data_size;
 
-        for (size_t i = 0; i < early_data_len; i++) {
+        for (size_t i = 0; i < buf_size; i++) {
             buf[i] = (unsigned char) (written_early_data_size + i);
         }
 
         ret = mbedtls_ssl_write_early_data(&(client_ep.ssl),
                                            buf,
-                                           early_data_len);
+                                           buf_size);
 
-        if (early_data_len <= remaining) {
-            TEST_EQUAL(ret, early_data_len);
+        if (buf_size <= remaining) {
+            TEST_EQUAL(ret, buf_size);
         } else {
             TEST_EQUAL(ret, remaining);
         }
-        written_early_data_size += early_data_len;
+        written_early_data_size += buf_size;
     }
 
     /* In case we reached exactly the limit in the loop above, do another one
@@ -4569,7 +4570,7 @@
 
         ret = mbedtls_ssl_read_early_data(&(server_ep.ssl),
                                           buf,
-                                          sizeof(buf));
+                                          buf_size);
         TEST_ASSERT(ret > 0);
 
         for (size_t i = 0; i < (size_t) ret; i++) {
@@ -4595,6 +4596,7 @@
     mbedtls_test_free_handshake_options(&client_options);
     mbedtls_test_free_handshake_options(&server_options);
     mbedtls_ssl_session_free(&saved_session);
+    mbedtls_free(buf);
     PSA_DONE();
 }
 /* END_CASE */