X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=sshprime.c;h=070eb98aa5ff7bd51f29be1b54169270bf2eb9a5;hb=12e019bafc75cb441e965c63e15dfceeaf71ca1e;hp=b48ce1a33ff1849a08fd36e48a30f9a6d7b276b4;hpb=a427048b2937ba07c8b2e691b2de49bd2701d6d0;p=PuTTY.git diff --git a/sshprime.c b/sshprime.c index b48ce1a3..070eb98a 100644 --- a/sshprime.c +++ b/sshprime.c @@ -1255,6 +1255,10 @@ Bignum primegen(int bits, int modulus, int residue, Bignum factor, moduli[NPRIMES] = modulus; residues[NPRIMES] = (bignum_mod_short(p, (unsigned short) modulus) + modulus - residue); + if (factor) + multipliers[NPRIMES] = bignum_mod_short(factor, modulus); + else + multipliers[NPRIMES] = 1; delta = 0; while (1) { for (i = 0; i < (sizeof(moduli) / sizeof(*moduli)); i++) @@ -1378,6 +1382,7 @@ Bignum primegen(int bits, int modulus, int residue, Bignum factor, * It didn't. Therefore, w is a witness for the * compositeness of p. */ + freebn(wqp); freebn(p); freebn(pm1); freebn(q);