mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-12-23 05:05:35 +00:00
Fix missing NULL check in MPI
This commit is contained in:
parent
d97828e7af
commit
770b5e1e9e
|
@ -28,6 +28,8 @@ Features
|
||||||
errors on use of deprecated functions.
|
errors on use of deprecated functions.
|
||||||
|
|
||||||
Bugfix
|
Bugfix
|
||||||
|
* mpi_size() and mpi_msb() would segfault when called on an mpi that is
|
||||||
|
initialized but not set (found by pravic).
|
||||||
* Fix detection of support for getrandom() on Linux (reported by syzzer) by
|
* Fix detection of support for getrandom() on Linux (reported by syzzer) by
|
||||||
doing it at runtime (using uname) rather that compile time.
|
doing it at runtime (using uname) rather that compile time.
|
||||||
* Fix handling of symlinks by "make install" (found by Gaël PORTAY).
|
* Fix handling of symlinks by "make install" (found by Gaël PORTAY).
|
||||||
|
|
|
@ -188,7 +188,9 @@ typedef struct
|
||||||
mpi;
|
mpi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Initialize one MPI
|
* \brief Initialize one MPI (make internal references valid)
|
||||||
|
* This just makes it ready to be set or freed,
|
||||||
|
* but does not define a value for the MPI.
|
||||||
*
|
*
|
||||||
* \param X One MPI to initialize.
|
* \param X One MPI to initialize.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -356,6 +356,9 @@ size_t mpi_msb( const mpi *X )
|
||||||
{
|
{
|
||||||
size_t i, j;
|
size_t i, j;
|
||||||
|
|
||||||
|
if( X->n == 0 )
|
||||||
|
return( 0 );
|
||||||
|
|
||||||
for( i = X->n - 1; i > 0; i-- )
|
for( i = X->n - 1; i > 0; i-- )
|
||||||
if( X->p[i] != 0 )
|
if( X->p[i] != 0 )
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
Arguments with no value
|
||||||
|
mpi_null:
|
||||||
|
|
||||||
Base test mpi_read_write_string #1
|
Base test mpi_read_write_string #1
|
||||||
mpi_read_write_string:10:"128":10:"128":100:0:0
|
mpi_read_write_string:10:"128":10:"128":100:0:0
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,25 @@
|
||||||
* END_DEPENDENCIES
|
* END_DEPENDENCIES
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* BEGIN_CASE */
|
||||||
|
void mpi_null( )
|
||||||
|
{
|
||||||
|
mpi X, Y, Z;
|
||||||
|
|
||||||
|
mpi_init( &X );
|
||||||
|
mpi_init( &Y );
|
||||||
|
mpi_init( &Z );
|
||||||
|
|
||||||
|
TEST_ASSERT( mpi_get_bit( &X, 42 ) == 0 );
|
||||||
|
TEST_ASSERT( mpi_lsb( &X ) == 0 );
|
||||||
|
TEST_ASSERT( mpi_msb( &X ) == 0 );
|
||||||
|
TEST_ASSERT( mpi_size( &X ) == 0 );
|
||||||
|
|
||||||
|
exit:
|
||||||
|
mpi_free( &X );
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE */
|
||||||
void mpi_read_write_string( int radix_X, char *input_X, int radix_A,
|
void mpi_read_write_string( int radix_X, char *input_X, int radix_A,
|
||||||
char *input_A, int output_size, int result_read,
|
char *input_A, int output_size, int result_read,
|
||||||
|
|
Loading…
Reference in a new issue