mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-05-11 14:38:17 +02:00
Initial prototype and demonstrator for parameter validation
Adds a new configurable option for the parameter validation level.
This commit is contained in:
@@ -56,6 +56,17 @@
|
||||
/* Error codes in range 0x0023-0x0025 */
|
||||
#define MBEDTLS_ERR_AES_FEATURE_UNAVAILABLE -0x0023 /**< Feature not available. For example, an unsupported AES key size. */
|
||||
#define MBEDTLS_ERR_AES_HW_ACCEL_FAILED -0x0025 /**< AES hardware accelerator failed. */
|
||||
#define MBEDTLS_ERR_AES_BAD_INPUT_DATA -0x0027 /**< Invalid
|
||||
input data. */
|
||||
|
||||
#if defined( MBEDTLS_CHECK_PARAMS )
|
||||
#define MBEDTLS_AES_VALIDATE( cond ) do{ if( !(cond) ) \
|
||||
return MBEDTLS_ERR_AES_BAD_INPUT_DATA; \
|
||||
} while(0);
|
||||
#else
|
||||
/* No validation of parameters will be performed */
|
||||
#define MBEDTLS_AES_VALIDATE( cond)
|
||||
#endif
|
||||
|
||||
#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
|
||||
!defined(inline) && !defined(__cplusplus)
|
||||
|
||||
@@ -221,6 +221,25 @@
|
||||
*/
|
||||
//#define MBEDTLS_DEPRECATED_REMOVED
|
||||
|
||||
/**
|
||||
* \def MBEDTLS_PARAM_VALIDATION_LEVEL
|
||||
*
|
||||
* The defined parameter validation level for the library. This configuration
|
||||
* controls whether the library validates parameters passed to it.
|
||||
*
|
||||
* Application code that deals with 3rd party input may wish to enable such
|
||||
* validation, whilst code on closed systems, such as embedded systems, where
|
||||
* the input is controlled and predictable, may wish to disable it entirely to
|
||||
* reduce the code size of the library.
|
||||
*
|
||||
* When the symbol is not defined, no parameter validation except that required
|
||||
* to ensure the integrity or security of the library are performed.
|
||||
*
|
||||
* When the symbol is defined, all parameters will be validated, and an error
|
||||
* code returned where appropriate.
|
||||
*/
|
||||
#define MBEDTLS_CHECK_PARAMS
|
||||
|
||||
/* \} name SECTION: System support */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user