Fix bug in Karatsuba multiplication, which affected propagation of a
[u/mdw/putty] / sshbn.c
diff --git a/sshbn.c b/sshbn.c
index 20244e8..cae1bd9 100644 (file)
--- a/sshbn.c
+++ b/sshbn.c
@@ -386,6 +386,7 @@ static void internal_mul(const BignumInt *a, const BignumInt *b,
             carry += c[j];
             c[j] = (BignumInt)carry;
             carry >>= BIGNUM_INT_BITS;
+            j--;
         }
 #ifdef KARA_DEBUG
         printf("ab = 0x");