mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2025-02-01 23:31:10 +00:00
Merge pull request #3890 from AndrzejKurek/fi-memcpy-memset-fail
Add a callback for platform faults in platform_util.c
This commit is contained in:
commit
549a35690c
|
@ -2951,6 +2951,18 @@
|
||||||
*/
|
*/
|
||||||
//#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
|
//#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \def MBEDTLS_PLATFORM_FAULT_CALLBACKS
|
||||||
|
*
|
||||||
|
* Uncomment to provide your own alternate implementation for mbedtls_platform_fault(),
|
||||||
|
* used in library/platform_util.c to signal a fault injection in either
|
||||||
|
* mbedtls_platform_memcpy or mbedtls_platform_memset.
|
||||||
|
*
|
||||||
|
* You will need to provide a header "platform_fault.h" and an implementation at
|
||||||
|
* compile time.
|
||||||
|
*/
|
||||||
|
//#define MBEDTLS_PLATFORM_FAULT_CALLBACKS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \def MBEDTLS_NET_C
|
* \def MBEDTLS_NET_C
|
||||||
*
|
*
|
||||||
|
|
|
@ -48,6 +48,12 @@
|
||||||
#include "mbedtls/entropy_poll.h"
|
#include "mbedtls/entropy_poll.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PLATFORM_FAULT_CALLBACKS)
|
||||||
|
#include "platform_fault.h"
|
||||||
|
#else
|
||||||
|
static void mbedtls_platform_fault(){}
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
@ -167,7 +173,7 @@ void *mbedtls_platform_memset( void *ptr, int value, size_t num )
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mbedtls_platform_fault();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -207,6 +213,7 @@ void *mbedtls_platform_memcpy( void *dst, const void *src, size_t num )
|
||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mbedtls_platform_fault();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -729,6 +729,9 @@ static const char *features[] = {
|
||||||
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
|
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
|
||||||
"MBEDTLS_MEMORY_BUFFER_ALLOC_C",
|
"MBEDTLS_MEMORY_BUFFER_ALLOC_C",
|
||||||
#endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */
|
#endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */
|
||||||
|
#if defined(MBEDTLS_PLATFORM_FAULT_CALLBACKS)
|
||||||
|
"MBEDTLS_PLATFORM_FAULT_CALLBACKS",
|
||||||
|
#endif /* MBEDTLS_PLATFORM_FAULT_CALLBACKS */
|
||||||
#if defined(MBEDTLS_NET_C)
|
#if defined(MBEDTLS_NET_C)
|
||||||
"MBEDTLS_NET_C",
|
"MBEDTLS_NET_C",
|
||||||
#endif /* MBEDTLS_NET_C */
|
#endif /* MBEDTLS_NET_C */
|
||||||
|
|
|
@ -1986,6 +1986,14 @@ int query_config( const char *config )
|
||||||
}
|
}
|
||||||
#endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */
|
#endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_PLATFORM_FAULT_CALLBACKS)
|
||||||
|
if( strcmp( "MBEDTLS_PLATFORM_FAULT_CALLBACKS", config ) == 0 )
|
||||||
|
{
|
||||||
|
MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_FAULT_CALLBACKS );
|
||||||
|
return( 0 );
|
||||||
|
}
|
||||||
|
#endif /* MBEDTLS_PLATFORM_FAULT_CALLBACKS */
|
||||||
|
|
||||||
#if defined(MBEDTLS_NET_C)
|
#if defined(MBEDTLS_NET_C)
|
||||||
if( strcmp( "MBEDTLS_NET_C", config ) == 0 )
|
if( strcmp( "MBEDTLS_NET_C", config ) == 0 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -146,6 +146,7 @@ MBEDTLS_CTR_DRBG_USE_128_BIT_KEY
|
||||||
MBEDTLS_SSL_TRANSFORM_OPTIMIZE_CIPHERS
|
MBEDTLS_SSL_TRANSFORM_OPTIMIZE_CIPHERS
|
||||||
MBEDTLS_VALIDATE_SSL_KEYS_INTEGRITY
|
MBEDTLS_VALIDATE_SSL_KEYS_INTEGRITY
|
||||||
MBEDTLS_OPTIMIZE_TINYCRYPT_ASM
|
MBEDTLS_OPTIMIZE_TINYCRYPT_ASM
|
||||||
|
MBEDTLS_PLATFORM_FAULT_CALLBACKS
|
||||||
_ALT\s*$
|
_ALT\s*$
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue