diff --git a/library/bignum.c b/library/bignum.c index 680c25a93..61b21fb68 100644 --- a/library/bignum.c +++ b/library/bignum.c @@ -2195,7 +2195,8 @@ int mpi_self_test( int verbose ) if( verbose != 0 ) printf( "failed\n" ); - return( 1 ); + ret = 1; + goto cleanup; } if( verbose != 0 ) @@ -2220,7 +2221,8 @@ int mpi_self_test( int verbose ) if( verbose != 0 ) printf( "failed\n" ); - return( 1 ); + ret = 1; + goto cleanup; } if( verbose != 0 ) @@ -2241,7 +2243,8 @@ int mpi_self_test( int verbose ) if( verbose != 0 ) printf( "failed\n" ); - return( 1 ); + ret = 1; + goto cleanup; } if( verbose != 0 ) @@ -2262,7 +2265,8 @@ int mpi_self_test( int verbose ) if( verbose != 0 ) printf( "failed\n" ); - return( 1 ); + ret = 1; + goto cleanup; } if( verbose != 0 ) @@ -2276,15 +2280,16 @@ int mpi_self_test( int verbose ) MPI_CHK( mpi_lset( &X, gcd_pairs[i][0] ) ); MPI_CHK( mpi_lset( &Y, gcd_pairs[i][1] ) ); - MPI_CHK( mpi_gcd( &A, &X, &Y ) ); + MPI_CHK( mpi_gcd( &A, &X, &Y ) ); - if( mpi_cmp_int( &A, gcd_pairs[i][2] ) != 0 ) - { - if( verbose != 0 ) - printf( "failed at %d\n", i ); + if( mpi_cmp_int( &A, gcd_pairs[i][2] ) != 0 ) + { + if( verbose != 0 ) + printf( "failed at %d\n", i ); - return( 1 ); - } + ret = 1; + goto cleanup; + } } if( verbose != 0 )