diff options
author | Werner Koch <wk@gnupg.org> | 2001-08-03 10:57:34 +0000 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2001-08-03 10:57:34 +0000 |
commit | 0c667cbdebcd34dfa556b6b8d786b0677f09f5a5 (patch) | |
tree | d31d08dfe51104bc4e26c6c69b87c8dd4b545047 /cipher/primegen.c | |
parent | 442e7215fb0b7455d31587bd6ad9ccb5d5a64dd7 (diff) | |
download | libgcrypt-0c667cbdebcd34dfa556b6b8d786b0677f09f5a5.tar.gz |
Applied changes from GnuPG stable.
Add a first tes program
Diffstat (limited to 'cipher/primegen.c')
-rw-r--r-- | cipher/primegen.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cipher/primegen.c b/cipher/primegen.c index da8b01f5..9489f0e8 100644 --- a/cipher/primegen.c +++ b/cipher/primegen.c @@ -190,6 +190,7 @@ _gcry_generate_elg_prime( int mode, unsigned pbits, unsigned qbits, count1 = 0; qbits++; progress('>'); + mpi_free (q); q = gen_prime( qbits, 0, 0 ); goto next_try; } @@ -201,6 +202,7 @@ _gcry_generate_elg_prime( int mode, unsigned pbits, unsigned qbits, count2 = 0; qbits--; progress('<'); + mpi_free (q); q = gen_prime( qbits, 0, 0 ); goto next_try; } @@ -227,14 +229,14 @@ _gcry_generate_elg_prime( int mode, unsigned pbits, unsigned qbits, if( ret_factors ) { /* caller wants the factors */ *ret_factors = gcry_xcalloc( n+2 , sizeof **ret_factors); + i = 0; if( mode == 1 ) { - i = 0; (*ret_factors)[i++] = mpi_copy( q_factor ); for(; i <= n; i++ ) (*ret_factors)[i] = mpi_copy( factors[i] ); } else { - for(i=0; i < n; i++ ) + for(; i < n; i++ ) (*ret_factors)[i] = mpi_copy( factors[i] ); } } @@ -284,6 +286,7 @@ _gcry_generate_elg_prime( int mode, unsigned pbits, unsigned qbits, gcry_free( pool ); gcry_free(perms); mpi_free(val_2); + mpi_free (q); return prime; } |