Move the calloc buffer initialization test to selftest.c

This way it's more in line with the 2.28 version.
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
diff --git a/programs/test/selftest.c b/programs/test/selftest.c
index f896d4f..d312755 100644
--- a/programs/test/selftest.c
+++ b/programs/test/selftest.c
@@ -73,23 +73,49 @@
     void *empty2 = mbedtls_calloc(0, 1);
     void *buffer1 = mbedtls_calloc(1, 1);
     void *buffer2 = mbedtls_calloc(1, 1);
+    unsigned int buf_size = 256;
+    unsigned char *buffer3 = mbedtls_calloc(buf_size, sizeof(unsigned char));
 
     if (empty1 == NULL && empty2 == NULL) {
         if (verbose) {
-            mbedtls_printf("  CALLOC(0): passed (NULL)\n");
+            mbedtls_printf("  CALLOC(0,1): passed (NULL)\n");
         }
     } else if (empty1 == NULL || empty2 == NULL) {
         if (verbose) {
-            mbedtls_printf("  CALLOC(0): failed (mix of NULL and non-NULL)\n");
+            mbedtls_printf("  CALLOC(0,1): failed (mix of NULL and non-NULL)\n");
         }
         ++failures;
     } else if (empty1 == empty2) {
         if (verbose) {
-            mbedtls_printf("  CALLOC(0): passed (same non-null)\n");
+            mbedtls_printf("  CALLOC(0,1): passed (same non-null)\n");
         }
     } else {
         if (verbose) {
-            mbedtls_printf("  CALLOC(0): passed (distinct non-null)\n");
+            mbedtls_printf("  CALLOC(0,1): passed (distinct non-null)\n");
+        }
+    }
+
+    mbedtls_free(empty1);
+    mbedtls_free(empty2);
+
+    empty1 = mbedtls_calloc(1, 0);
+    empty2 = mbedtls_calloc(1, 0);
+    if (empty1 == NULL && empty2 == NULL) {
+        if (verbose) {
+            mbedtls_printf("  CALLOC(1,0): passed (NULL)\n");
+        }
+    } else if (empty1 == NULL || empty2 == NULL) {
+        if (verbose) {
+            mbedtls_printf("  CALLOC(1,0): failed (mix of NULL and non-NULL)\n");
+        }
+        ++failures;
+    } else if (empty1 == empty2) {
+        if (verbose) {
+            mbedtls_printf("  CALLOC(1,0): passed (same non-null)\n");
+        }
+    } else {
+        if (verbose) {
+            mbedtls_printf("  CALLOC(1,0): passed (distinct non-null)\n");
         }
     }
 
@@ -122,6 +148,16 @@
         }
     }
 
+    for (unsigned int i = 0; i < buf_size; i++) {
+        if (buffer3[i] != 0) {
+            ++failures;
+            if (verbose) {
+                mbedtls_printf("  CALLOC(%u): failed (memory not initialized to 0)\n", buf_size);
+            }
+            break;
+        }
+    }
+
     if (verbose) {
         mbedtls_printf("\n");
     }
@@ -129,6 +165,7 @@
     mbedtls_free(empty2);
     mbedtls_free(buffer1);
     mbedtls_free(buffer2);
+    mbedtls_free(buffer3);
     return failures;
 }
 #endif /* MBEDTLS_SELF_TEST */
diff --git a/tests/suites/test_suite_platform.data b/tests/suites/test_suite_platform.data
index 6499282..4276b8f 100644
--- a/tests/suites/test_suite_platform.data
+++ b/tests/suites/test_suite_platform.data
@@ -4,6 +4,3 @@
 
 Time: get seconds
 time_get_seconds:
-
-Check mbedtls_calloc zeroization
-check_mbedtls_calloc_zeroization:
\ No newline at end of file
diff --git a/tests/suites/test_suite_platform.function b/tests/suites/test_suite_platform.function
index 82c656d..61681b8 100644
--- a/tests/suites/test_suite_platform.function
+++ b/tests/suites/test_suite_platform.function
@@ -120,17 +120,3 @@
     goto exit;
 }
 /* END_CASE */
-
-/* BEGIN_CASE */
-void check_mbedtls_calloc_zeroization()
-{
-    unsigned int buf_size = 256;
-    unsigned char *buf;
-    buf = mbedtls_calloc(buf_size, sizeof(unsigned char));
-    for (unsigned int i = 0; i < buf_size; i++) {
-        TEST_EQUAL(buf[i], 0);
-    }
-exit:
-    mbedtls_free(buf);
-}
-/* END_CASE */
\ No newline at end of file