mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-10-31 03:30:35 -04:00 
			
		
		
		
	- Allow R and A to point to same mpi in mpi_div_mpi
This commit is contained in:
		
							parent
							
								
									36c4a678a6
								
							
						
					
					
						commit
						f02c5642d0
					
				| @ -4,6 +4,8 @@ PolarSSL ChangeLog | |||||||
| Bugfixes | Bugfixes | ||||||
|    * Fixes for MSVC6 |    * Fixes for MSVC6 | ||||||
|    * Moved mpi_inv_mod() outside POLARSSL_GENPRIME |    * Moved mpi_inv_mod() outside POLARSSL_GENPRIME | ||||||
|  |    * Allow R and A to point to same mpi in mpi_div_mpi (found by Manuel | ||||||
|  |      Pégourié-Gonnard) | ||||||
| 
 | 
 | ||||||
| = Version 1.2.0 released 2012-10-31 | = Version 1.2.0 released 2012-10-31 | ||||||
| Features | Features | ||||||
|  | |||||||
| @ -1195,9 +1195,9 @@ int mpi_div_mpi( mpi *Q, mpi *R, const mpi *A, const mpi *B ) | |||||||
|     if( R != NULL ) |     if( R != NULL ) | ||||||
|     { |     { | ||||||
|         mpi_shift_r( &X, k ); |         mpi_shift_r( &X, k ); | ||||||
|  |         X.s = A->s; | ||||||
|         mpi_copy( R, &X ); |         mpi_copy( R, &X ); | ||||||
| 
 | 
 | ||||||
|         R->s = A->s; |  | ||||||
|         if( mpi_cmp_int( R, 0 ) == 0 ) |         if( mpi_cmp_int( R, 0 ) == 0 ) | ||||||
|             R->s = 1; |             R->s = 1; | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -514,21 +514,21 @@ END_CASE | |||||||
| BEGIN_CASE | BEGIN_CASE | ||||||
| mpi_mod_mpi:radix_X:input_X:radix_Y:input_Y:radix_A:input_A:div_result | mpi_mod_mpi:radix_X:input_X:radix_Y:input_Y:radix_A:input_A:div_result | ||||||
| { | { | ||||||
|     mpi X, Y, Z, A; |     mpi X, Y, A; | ||||||
|     int res; |     int res; | ||||||
|     mpi_init( &X ); mpi_init( &Y ); mpi_init( &Z ); mpi_init( &A ); |     mpi_init( &X ); mpi_init( &Y ); mpi_init( &A ); | ||||||
| 
 | 
 | ||||||
|     TEST_ASSERT( mpi_read_string( &X, {radix_X}, {input_X} ) == 0 ); |     TEST_ASSERT( mpi_read_string( &X, {radix_X}, {input_X} ) == 0 ); | ||||||
|     TEST_ASSERT( mpi_read_string( &Y, {radix_Y}, {input_Y} ) == 0 ); |     TEST_ASSERT( mpi_read_string( &Y, {radix_Y}, {input_Y} ) == 0 ); | ||||||
|     TEST_ASSERT( mpi_read_string( &A, {radix_A}, {input_A} ) == 0 ); |     TEST_ASSERT( mpi_read_string( &A, {radix_A}, {input_A} ) == 0 ); | ||||||
|     res = mpi_mod_mpi( &Z, &X, &Y ); |     res = mpi_mod_mpi( &X, &X, &Y ); | ||||||
|     TEST_ASSERT( res == {div_result} ); |     TEST_ASSERT( res == {div_result} ); | ||||||
|     if( res == 0 ) |     if( res == 0 ) | ||||||
|     { |     { | ||||||
|         TEST_ASSERT( mpi_cmp_mpi( &Z, &A ) == 0 ); |         TEST_ASSERT( mpi_cmp_mpi( &X, &A ) == 0 ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     mpi_free( &X ); mpi_free( &Y ); mpi_free( &Z ); mpi_free( &A ); |     mpi_free( &X ); mpi_free( &Y ); mpi_free( &A ); | ||||||
| } | } | ||||||
| END_CASE | END_CASE | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Paul Bakker
						Paul Bakker