mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
Fix bug in mpi_tdiv_q_2exp.
* mpi/mpi-internal.h (MPN_COPY_INCR): Make it work. -- This bug has been with us since the version 0.0.0 of GnuPG. Fortunately it only affects an optimized code path which is rarely used in practice: If the shift size matches the size of a limb (i.e.. 32 or 64); this is is_prime in primegen.c. Over there the Rabin-Miller test may fail with a probability of 2^-31 (that is if the to be tested prime - 1 has the low 32 bits cleared). In practice the probability is even much less because we first do a Fermat test on the randomly generated candidates which sorts out the majority of composite numbers. The bug in MPN_COPY_INCR was found by Sven Bjorn. Signed-off-by: Werner Koch <wk@gnupg.org> (back ported from Libgcrypt commit 7f7a5ef59962ae1a819b5060f9b781469bfe27d5)
This commit is contained in:
parent
45efde9557
commit
9dc6dd0572
@ -104,7 +104,7 @@ typedef int mpi_size_t; /* (must be a signed type) */
|
|||||||
do { \
|
do { \
|
||||||
mpi_size_t _i; \
|
mpi_size_t _i; \
|
||||||
for( _i = 0; _i < (n); _i++ ) \
|
for( _i = 0; _i < (n); _i++ ) \
|
||||||
(d)[_i] = (d)[_i]; \
|
(d)[_i] = (s)[_i]; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define MPN_COPY_DECR( d, s, n ) \
|
#define MPN_COPY_DECR( d, s, n ) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user