mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
Create memory poisoning wrapper for cipher encrypt
Use the preprocessor to wrap psa_cipher_encrypt in a wrapper that poisons the input and output buffers. Signed-off-by: David Horstmann <david.horstmann@arm.com>
This commit is contained in:
27
tests/include/test/psa_memory_poisoning_wrappers.h
Normal file
27
tests/include/test/psa_memory_poisoning_wrappers.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#include "psa/crypto.h"
|
||||||
|
|
||||||
|
#include "test/memory.h"
|
||||||
|
|
||||||
|
psa_status_t wrap_psa_cipher_encrypt(mbedtls_svc_key_id_t key,
|
||||||
|
psa_algorithm_t alg,
|
||||||
|
const uint8_t *input,
|
||||||
|
size_t input_length,
|
||||||
|
uint8_t *output,
|
||||||
|
size_t output_size,
|
||||||
|
size_t *output_length)
|
||||||
|
{
|
||||||
|
MBEDTLS_TEST_MEMORY_POISON(input, input_length);
|
||||||
|
MBEDTLS_TEST_MEMORY_POISON(output, output_size);
|
||||||
|
psa_status_t status = psa_cipher_encrypt(key,
|
||||||
|
alg,
|
||||||
|
input,
|
||||||
|
input_length,
|
||||||
|
output,
|
||||||
|
output_size,
|
||||||
|
output_length);
|
||||||
|
MBEDTLS_TEST_MEMORY_UNPOISON(input, input_length);
|
||||||
|
MBEDTLS_TEST_MEMORY_UNPOISON(output, output_size);
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define psa_cipher_encrypt(...) wrap_psa_cipher_encrypt(__VA_ARGS__)
|
@ -25,6 +25,10 @@
|
|||||||
#define TEST_DRIVER_LOCATION 0x7fffff
|
#define TEST_DRIVER_LOCATION 0x7fffff
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_TEST_HOOKS)
|
||||||
|
#include "test/psa_memory_poisoning_wrappers.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* If this comes up, it's a bug in the test code or in the test data. */
|
/* If this comes up, it's a bug in the test code or in the test data. */
|
||||||
#define UNUSED 0xdeadbeef
|
#define UNUSED 0xdeadbeef
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user