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>
This commit is contained in:
parent
2d981f092e
commit
9032711dc7
3 changed files with 41 additions and 21 deletions
|
@ -73,23 +73,49 @@ static int calloc_self_test(int verbose)
|
|||
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 @@ static int calloc_self_test(int verbose)
|
|||
}
|
||||
}
|
||||
|
||||
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 @@ static int calloc_self_test(int verbose)
|
|||
mbedtls_free(empty2);
|
||||
mbedtls_free(buffer1);
|
||||
mbedtls_free(buffer2);
|
||||
mbedtls_free(buffer3);
|
||||
return failures;
|
||||
}
|
||||
#endif /* MBEDTLS_SELF_TEST */
|
||||
|
|
|
@ -4,6 +4,3 @@ time_get_milliseconds:
|
|||
|
||||
Time: get seconds
|
||||
time_get_seconds:
|
||||
|
||||
Check mbedtls_calloc zeroization
|
||||
check_mbedtls_calloc_zeroization:
|
|
@ -120,17 +120,3 @@ void time_delay_seconds(int delay_secs)
|
|||
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 */
|
Loading…
Reference in a new issue