Fix parameter validation for mbedtls_mpi_lsb()

The MPI_VALIDATE_RET() macro cannot be used for parameter
validation of mbedtls_mpi_lsb() because this function returns
a size_t.

Use the underlying MBEDTLS_INTERNAL_VALIDATE_RET() insteaed,
returning 0 on failure.

Also, add a test for this behaviour.
This commit is contained in:
Hanno Becker 2018-12-19 16:51:02 +00:00
parent 8ce11a323e
commit f25ee7f79d
2 changed files with 3 additions and 1 deletions

View file

@ -216,6 +216,8 @@ void mpi_invalid_param( )
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
mbedtls_mpi_div_int( &X, &X, NULL, 42 ) );
TEST_INVALID_PARAM_RET( 0, mbedtls_mpi_lsb( NULL ) );
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
mbedtls_mpi_mod_mpi( NULL, &X, &X ) );
TEST_INVALID_PARAM_RET( MBEDTLS_ERR_MPI_BAD_INPUT_DATA,