Add macro for error code addition
Adds a macro (`MBEDTLS_ERR_ADD`) to add error codes together and check that the result will not be corrupted. This additional check is only enabled during testing when `MBEDTLS_TEST_HOOKS` is defined. Also includes a reference usage example in `rsa.c` where two high-level error codes could be incorrectly added together under the right conditions. This now ensures that when this error occurs during testing it will be correctly reported. Signed-off-by: Chris Jones <christopher.jones@arm.com>
This commit is contained in:
parent
528b0a6b18
commit
96ae73b0ea
6 changed files with 49 additions and 1 deletions
|
@ -282,3 +282,16 @@ void mbedtls_param_failed( const char *failure_condition,
|
|||
}
|
||||
}
|
||||
#endif /* MBEDTLS_CHECK_PARAMS */
|
||||
|
||||
#if defined(MBEDTLS_TEST_HOOKS)
|
||||
void mbedtls_test_err_add_check( int high, int low,
|
||||
const char *file, int line )
|
||||
{
|
||||
if ( high < -0x0FFF && low > -0x007F )
|
||||
{
|
||||
mbedtls_fprintf( stderr, "\nIncorrect error code addition at %s:%d\n",
|
||||
file, line );
|
||||
mbedtls_exit( 1 );
|
||||
}
|
||||
}
|
||||
#endif /* MBEDTLS_TEST_HOOKS */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue