Fix misplaced initialisation.
If one of the calls to mpi_grow() before setting Apos would fail, then mpi_free( &Apos ) would be executed without Apos being initialised.
This commit is contained in:
parent
073f0fa2fb
commit
fd6a191381
@ -1527,6 +1527,7 @@ int mpi_exp_mod( mpi *X, const mpi *A, const mpi *E, const mpi *N, mpi *_RR )
|
|||||||
*/
|
*/
|
||||||
mpi_montg_init( &mm, N );
|
mpi_montg_init( &mm, N );
|
||||||
mpi_init( &RR ); mpi_init( &T );
|
mpi_init( &RR ); mpi_init( &T );
|
||||||
|
mpi_init( &Apos );
|
||||||
memset( W, 0, sizeof( W ) );
|
memset( W, 0, sizeof( W ) );
|
||||||
|
|
||||||
i = mpi_msb( E );
|
i = mpi_msb( E );
|
||||||
@ -1546,8 +1547,6 @@ int mpi_exp_mod( mpi *X, const mpi *A, const mpi *E, const mpi *N, mpi *_RR )
|
|||||||
* Compensate for negative A (and correct at the end)
|
* Compensate for negative A (and correct at the end)
|
||||||
*/
|
*/
|
||||||
neg = ( A->s == -1 );
|
neg = ( A->s == -1 );
|
||||||
|
|
||||||
mpi_init( &Apos );
|
|
||||||
if( neg )
|
if( neg )
|
||||||
{
|
{
|
||||||
MPI_CHK( mpi_copy( &Apos, A ) );
|
MPI_CHK( mpi_copy( &Apos, A ) );
|
||||||
|
Loading…
Reference in New Issue
Block a user