mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
Make all parameter validation tests optional
This commit is contained in:
@ -25,9 +25,6 @@ void mbedtls_cipher_list( )
|
||||
void cipher_null_args( )
|
||||
{
|
||||
mbedtls_cipher_context_t ctx;
|
||||
const mbedtls_cipher_info_t *info = mbedtls_cipher_info_from_type( *( mbedtls_cipher_list() ) );
|
||||
unsigned char buf[1] = { 0 };
|
||||
size_t olen;
|
||||
|
||||
mbedtls_cipher_init( &ctx );
|
||||
|
||||
@ -41,53 +38,6 @@ void cipher_null_args( )
|
||||
TEST_ASSERT( mbedtls_cipher_get_iv_size( &ctx ) == 0 );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_info_from_string( NULL ) == NULL );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_setup( &ctx, NULL )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_setup( NULL, info )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_setkey( NULL, buf, 0, MBEDTLS_ENCRYPT )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_setkey( &ctx, buf, 0, MBEDTLS_ENCRYPT )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_set_iv( NULL, buf, 0 )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_set_iv( &ctx, buf, 0 )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_reset( NULL ) == MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_reset( &ctx ) == MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C)
|
||||
TEST_ASSERT( mbedtls_cipher_update_ad( NULL, buf, 0 )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_update_ad( &ctx, buf, 0 )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
#endif
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_update( NULL, buf, 0, buf, &olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_update( &ctx, buf, 0, buf, &olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_finish( NULL, buf, &olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_finish( &ctx, buf, &olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C)
|
||||
TEST_ASSERT( mbedtls_cipher_write_tag( NULL, buf, olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_write_tag( &ctx, buf, olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
|
||||
TEST_ASSERT( mbedtls_cipher_check_tag( NULL, buf, olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
TEST_ASSERT( mbedtls_cipher_check_tag( &ctx, buf, olen )
|
||||
== MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA );
|
||||
#endif
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
@ -97,11 +47,15 @@ void cipher_invalid_param( )
|
||||
mbedtls_cipher_context_t invalid_ctx;
|
||||
mbedtls_cipher_context_t valid_ctx;
|
||||
|
||||
mbedtls_operation_t valid_operation = MBEDTLS_ENCRYPT;
|
||||
mbedtls_operation_t invalid_operation = 100;
|
||||
mbedtls_cipher_padding_t valid_mode = MBEDTLS_PADDING_ZEROS;
|
||||
unsigned char valid_buffer[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };
|
||||
int valid_size = sizeof(valid_buffer);
|
||||
int valid_bitlen = valid_size * 8;
|
||||
const mbedtls_cipher_info_t *valid_info = mbedtls_cipher_info_from_type(
|
||||
*( mbedtls_cipher_list() ) );
|
||||
|
||||
size_t size_t_var;
|
||||
|
||||
/* mbedtls_cipher_init() */
|
||||
@ -110,7 +64,33 @@ void cipher_invalid_param( )
|
||||
|
||||
TEST_INVALID_PARAM( mbedtls_cipher_init( NULL ) );
|
||||
|
||||
/* mbedtls_cipher_setup() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_setup( NULL, valid_info ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_setup( &valid_ctx, NULL ) );
|
||||
|
||||
/* mbedtls_cipher_setkey() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_setkey( NULL,
|
||||
valid_buffer,
|
||||
valid_bitlen,
|
||||
valid_operation ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_setkey( &invalid_ctx,
|
||||
valid_buffer,
|
||||
valid_bitlen,
|
||||
valid_operation ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_setkey( &valid_ctx,
|
||||
NULL,
|
||||
valid_bitlen,
|
||||
valid_operation ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_setkey( &valid_ctx,
|
||||
@ -118,14 +98,72 @@ void cipher_invalid_param( )
|
||||
valid_bitlen,
|
||||
invalid_operation ) );
|
||||
|
||||
/* mbedtls_cipher_set_iv() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_set_iv( NULL,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_set_iv( &invalid_ctx,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_set_iv( &valid_ctx,
|
||||
NULL,
|
||||
valid_size ) );
|
||||
|
||||
/* mbedtls_cipher_reset() */
|
||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_reset( NULL ) );
|
||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_reset( &invalid_ctx ) );
|
||||
|
||||
#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C)
|
||||
/* mbedtls_cipher_update_ad() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_update_ad( NULL,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_update_ad( &invalid_ctx,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_update_ad( &valid_ctx,
|
||||
NULL,
|
||||
valid_size ) );
|
||||
#endif /* defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) */
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_WITH_PADDING)
|
||||
/* mbedtls_cipher_set_padding_mode() */
|
||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_set_padding_mode( NULL, valid_mode ) );
|
||||
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_set_padding_mode( &invalid_ctx,
|
||||
valid_mode ) );
|
||||
#endif
|
||||
|
||||
/* mbedtls_cipher_update() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_update( NULL,
|
||||
valid_buffer,
|
||||
valid_size,
|
||||
valid_buffer,
|
||||
&size_t_var ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_update( &invalid_ctx,
|
||||
valid_buffer,
|
||||
valid_size,
|
||||
valid_buffer,
|
||||
&size_t_var ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_update( &valid_ctx,
|
||||
@ -146,6 +184,16 @@ void cipher_invalid_param( )
|
||||
NULL ) );
|
||||
|
||||
/* mbedtls_cipher_finish() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_finish( NULL,
|
||||
valid_buffer,
|
||||
&size_t_var ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_finish( &invalid_ctx,
|
||||
valid_buffer,
|
||||
&size_t_var ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_finish( &valid_ctx,
|
||||
@ -157,7 +205,18 @@ void cipher_invalid_param( )
|
||||
valid_buffer,
|
||||
NULL ) );
|
||||
|
||||
#if defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C)
|
||||
/* mbedtls_cipher_write_tag() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_write_tag( NULL,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_write_tag( &invalid_ctx,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_write_tag( &valid_ctx,
|
||||
@ -165,11 +224,22 @@ void cipher_invalid_param( )
|
||||
valid_size ) );
|
||||
|
||||
/* mbedtls_cipher_check_tag() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_check_tag( NULL,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_check_tag( &invalid_ctx,
|
||||
valid_buffer,
|
||||
valid_size ) );
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
mbedtls_cipher_check_tag( &valid_ctx,
|
||||
NULL,
|
||||
valid_size ) );
|
||||
#endif /* defined(MBEDTLS_GCM_C) || defined(MBEDTLS_CHACHAPOLY_C) */
|
||||
|
||||
/* mbedtls_cipher_crypt() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
@ -209,6 +279,7 @@ void cipher_invalid_param( )
|
||||
valid_buffer, valid_size,
|
||||
valid_buffer, NULL ) );
|
||||
|
||||
#if defined(MBEDTLS_CIPHER_MODE_AEAD)
|
||||
/* mbedtls_cipher_auth_encrypt() */
|
||||
TEST_INVALID_PARAM_RET(
|
||||
MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA,
|
||||
@ -340,6 +411,7 @@ void cipher_invalid_param( )
|
||||
valid_buffer, valid_size,
|
||||
valid_buffer, &size_t_var,
|
||||
NULL, valid_size ) );
|
||||
#endif /* defined(MBEDTLS_CIPHER_MODE_AEAD) */
|
||||
|
||||
/* mbedtls_cipher_free() */
|
||||
TEST_VALID_PARAM( mbedtls_cipher_free( NULL ) );
|
||||
|
Reference in New Issue
Block a user