diff --git a/ChangeLog b/ChangeLog index 8d88ccfd9..d41422281 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,8 @@ Features Changes * Removed redundant POLARSSL_DEBUG_MSG define * AES code only check for Padlock once + * Fixed const-correctness mpi_get_bit() + * Documentation for mpi_lsb() and mpi_msb() Bugfix * Fixed handling error in mpi_cmp_mpi() on longer B values (found by diff --git a/include/polarssl/bignum.h b/include/polarssl/bignum.h index ad033084c..898e37daf 100644 --- a/include/polarssl/bignum.h +++ b/include/polarssl/bignum.h @@ -192,7 +192,7 @@ int mpi_lset( mpi *X, t_sint z ); * * \return Either a 0 or a 1 */ -int mpi_get_bit( mpi *X, size_t pos ); +int mpi_get_bit( const mpi *X, size_t pos ); /* * \brief Set a bit of X to a specific value of 0 or 1 @@ -211,14 +211,20 @@ int mpi_get_bit( mpi *X, size_t pos ); int mpi_set_bit( mpi *X, size_t pos, unsigned char val ); /** - * \brief Return the number of least significant bits + * \brief Return the number of zero-bits before the least significant + * '1' bit + * + * Note: Thus also the zero-based index of the least significant '1' bit * * \param X MPI to use */ size_t mpi_lsb( const mpi *X ); /** - * \brief Return the number of most significant bits + * \brief Return the number of bits up to and including the most + * significant '1' bit' + * + * Note: Thus also the one-based index of the most significant '1' bit * * \param X MPI to use */ diff --git a/library/bignum.c b/library/bignum.c index 0cb95055d..5c0d6220d 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -173,7 +173,7 @@ cleanup: /* * Get a specific bit */ -int mpi_get_bit( mpi *X, size_t pos ) +int mpi_get_bit( const mpi *X, size_t pos ) { if( X->n * biL <= pos ) return( 0 );