1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-04 08:02:28 +03:00

Add memory poisoning hooks

Signed-off-by: David Horstmann <david.horstmann@arm.com>
This commit is contained in:
David Horstmann
2023-11-24 16:21:04 +00:00
parent e369fcb23a
commit 0760b15d45
2 changed files with 24 additions and 1 deletions

View File

@ -226,7 +226,10 @@ foreach(target IN LISTS target_libraries)
PUBLIC ${MBEDTLS_DIR}/include/
PUBLIC ${thirdparty_inc_public}
PRIVATE ${MBEDTLS_DIR}/library/
PRIVATE ${thirdparty_inc})
PRIVATE ${thirdparty_inc}
# Needed to include psa_crypto_driver_wrappers.h
${CMAKE_CURRENT_BINARY_DIR}
${MBEDTLS_DIR}/tests/include/)
target_compile_definitions(${target}
PRIVATE ${thirdparty_def})
# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE

View File

@ -73,6 +73,10 @@
#include "mbedtls/sha512.h"
#include "mbedtls/xtea.h"
#if defined(MBEDTLS_TEST_HOOKS)
#include "test/memory.h"
#endif
#define ARRAY_LENGTH(array) (sizeof(array) / sizeof(*(array)))
/****************************************************************/
@ -5531,10 +5535,18 @@ psa_status_t psa_crypto_copy_input(const uint8_t *input, size_t input_len,
return PSA_ERROR_CORRUPTION_DETECTED;
}
#if defined(MBEDTLS_TEST_HOOKS)
MBEDTLS_TEST_MEMORY_UNPOISON(input, input_len);
#endif
if (input_len > 0) {
memcpy(input_copy, input, input_len);
}
#if defined(MBEDTLS_TEST_HOOKS)
MBEDTLS_TEST_MEMORY_POISON(input, input_len);
#endif
return PSA_SUCCESS;
}
@ -5558,10 +5570,18 @@ psa_status_t psa_crypto_copy_output(const uint8_t *output_copy, size_t output_co
return PSA_ERROR_BUFFER_TOO_SMALL;
}
#if defined(MBEDTLS_TEST_HOOKS)
MBEDTLS_TEST_MEMORY_UNPOISON(output, output_len);
#endif
if (output_copy_len > 0) {
memcpy(output, output_copy, output_copy_len);
}
#if defined(MBEDTLS_TEST_HOOKS)
MBEDTLS_TEST_MEMORY_POISON(output, output_len);
#endif
return PSA_SUCCESS;
}