From 260cee498e099a1abe7cedf7c4030eff00c37cb8 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 20 Feb 2011 15:06:39 +0000 Subject: [PATCH] Fix bug in Karatsuba multiplication, which affected propagation of a carry by more than one word. Now the current set of test cases all pass again. [originally from svn r9098] --- sshbn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sshbn.c b/sshbn.c index 20244e86..cae1bd9e 100644 --- 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");