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);