mirror of
https://github.com/ARMmbed/mbedtls.git
synced 2025-05-16 11:47:33 +08:00
Add testcase for psa_crypto_output_copy_free()
Signed-off-by: David Horstmann <david.horstmann@arm.com>
This commit is contained in:
parent
ba3c7d649c
commit
63a73588cf
@ -45,3 +45,12 @@ output_copy_alloc:200:PSA_SUCCESS
|
|||||||
|
|
||||||
PSA crypto output copy alloc, NULL buffer
|
PSA crypto output copy alloc, NULL buffer
|
||||||
output_copy_alloc:0:PSA_SUCCESS
|
output_copy_alloc:0:PSA_SUCCESS
|
||||||
|
|
||||||
|
PSA crypto output copy free
|
||||||
|
output_copy_free:200:0:PSA_SUCCESS
|
||||||
|
|
||||||
|
PSA crypto output copy free, NULL buffer
|
||||||
|
output_copy_free:0:0:PSA_SUCCESS
|
||||||
|
|
||||||
|
PSA crypto output copy free, NULL original buffer
|
||||||
|
output_copy_free:200:1:PSA_ERROR_CORRUPTION_DETECTED
|
||||||
|
@ -163,3 +163,48 @@ exit:
|
|||||||
output = NULL;
|
output = NULL;
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
|
/* BEGIN_CASE */
|
||||||
|
void output_copy_free(int output_len, int original_is_null,
|
||||||
|
psa_status_t exp_status)
|
||||||
|
{
|
||||||
|
uint8_t *output = NULL;
|
||||||
|
uint8_t *buffer_copy_for_comparison = NULL;
|
||||||
|
psa_crypto_output_copy_t output_copy;
|
||||||
|
psa_status_t status;
|
||||||
|
|
||||||
|
output_copy.buffer = NULL;
|
||||||
|
output_copy.len = 0;
|
||||||
|
|
||||||
|
if (!original_is_null) {
|
||||||
|
TEST_CALLOC(output, output_len);
|
||||||
|
}
|
||||||
|
TEST_CALLOC(buffer_copy_for_comparison, output_len);
|
||||||
|
TEST_CALLOC(output_copy.buffer, output_len);
|
||||||
|
output_copy.len = output_len;
|
||||||
|
output_copy.original = output;
|
||||||
|
|
||||||
|
if (output_copy.buffer != NULL) {
|
||||||
|
fill_buffer_pattern(output_copy.buffer, output_copy.len);
|
||||||
|
memcpy(buffer_copy_for_comparison, output_copy.buffer, output_copy.len);
|
||||||
|
}
|
||||||
|
|
||||||
|
status = psa_crypto_output_copy_free(&output_copy);
|
||||||
|
TEST_EQUAL(status, exp_status);
|
||||||
|
|
||||||
|
if (exp_status == PSA_SUCCESS) {
|
||||||
|
TEST_ASSERT(output_copy.buffer == NULL);
|
||||||
|
TEST_EQUAL(output_copy.len, 0);
|
||||||
|
if (output != NULL) {
|
||||||
|
TEST_MEMORY_COMPARE(buffer_copy_for_comparison, output_len,
|
||||||
|
output, output_len);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit:
|
||||||
|
mbedtls_free(output);
|
||||||
|
mbedtls_free(buffer_copy_for_comparison);
|
||||||
|
mbedtls_free(output_copy.buffer);
|
||||||
|
output_copy.len = 0;
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user