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:
@ -226,7 +226,10 @@ foreach(target IN LISTS target_libraries)
|
|||||||
PUBLIC ${MBEDTLS_DIR}/include/
|
PUBLIC ${MBEDTLS_DIR}/include/
|
||||||
PUBLIC ${thirdparty_inc_public}
|
PUBLIC ${thirdparty_inc_public}
|
||||||
PRIVATE ${MBEDTLS_DIR}/library/
|
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}
|
target_compile_definitions(${target}
|
||||||
PRIVATE ${thirdparty_def})
|
PRIVATE ${thirdparty_def})
|
||||||
# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE
|
# Pass-through MBEDTLS_CONFIG_FILE and MBEDTLS_USER_CONFIG_FILE
|
||||||
|
@ -73,6 +73,10 @@
|
|||||||
#include "mbedtls/sha512.h"
|
#include "mbedtls/sha512.h"
|
||||||
#include "mbedtls/xtea.h"
|
#include "mbedtls/xtea.h"
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_TEST_HOOKS)
|
||||||
|
#include "test/memory.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define ARRAY_LENGTH(array) (sizeof(array) / sizeof(*(array)))
|
#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;
|
return PSA_ERROR_CORRUPTION_DETECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_TEST_HOOKS)
|
||||||
|
MBEDTLS_TEST_MEMORY_UNPOISON(input, input_len);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (input_len > 0) {
|
if (input_len > 0) {
|
||||||
memcpy(input_copy, input, input_len);
|
memcpy(input_copy, input, input_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_TEST_HOOKS)
|
||||||
|
MBEDTLS_TEST_MEMORY_POISON(input, input_len);
|
||||||
|
#endif
|
||||||
|
|
||||||
return PSA_SUCCESS;
|
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;
|
return PSA_ERROR_BUFFER_TOO_SMALL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_TEST_HOOKS)
|
||||||
|
MBEDTLS_TEST_MEMORY_UNPOISON(output, output_len);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (output_copy_len > 0) {
|
if (output_copy_len > 0) {
|
||||||
memcpy(output, output_copy, output_copy_len);
|
memcpy(output, output_copy, output_copy_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_TEST_HOOKS)
|
||||||
|
MBEDTLS_TEST_MEMORY_POISON(output, output_len);
|
||||||
|
#endif
|
||||||
|
|
||||||
return PSA_SUCCESS;
|
return PSA_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user