fix x86_64-specific crash with one-word modulus. PR: #3397 (Imported from upstream's 47b9e06cfd3a4fa89a690309e5839ed57e93f0f8) Change-Id: I92d46a3132233c179f4b708d506bfb7212c26a33
diff --git a/crypto/bn/exponentiation.c b/crypto/bn/exponentiation.c index 2a6ec43..0c9d7a7 100644 --- a/crypto/bn/exponentiation.c +++ b/crypto/bn/exponentiation.c
@@ -982,7 +982,7 @@ /* Dedicated window==4 case improves 512-bit RSA sign by ~15%, but as * 512-bit RSA is hardly relevant, we omit it to spare size... */ - if (window == 5) { + if (window == 5 && top > 1) { void bn_mul_mont_gather5(BN_ULONG * rp, const BN_ULONG * ap, const void * table, const BN_ULONG * np, const BN_ULONG * n0, int num, int power);