fix bn_expand2
authorBodo Möller <bodo@openssl.org>
Sat, 3 Aug 2002 18:27:47 +0000 (18:27 +0000)
committerBodo Möller <bodo@openssl.org>
Sat, 3 Aug 2002 18:27:47 +0000 (18:27 +0000)
crypto/bn/bn_gf2m.c
crypto/bn/bn_lib.c

index c969685c87467a0b18d4c2580009f1fa77bd72e6..bf7031b3ab3a152068d91c7adbadcd5c3359fd01 100644 (file)
@@ -284,7 +284,7 @@ int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b)
        if (a->top < b->top) { at = b; bt = a; }
        else { at = a; bt = b; }
 
-       bn_wexpand(r, at->top);
+       bn_expand2(r, at->top);
 
        for (i = 0; i < bt->top; i++)
                {
index 60e3c680bc1813353614696b51cea4434c4dd56f..20f851cc6692e45050ef41cbc16589e70264839b 100644 (file)
@@ -453,13 +453,14 @@ BIGNUM *bn_expand2(BIGNUM *b, int words)
        if ((b != NULL) && (b->top < b->dmax))
                {
                A = &(b->d[b->top]);
-               for (i=(words - b->top)>>3; i>0; i--,A+=8)
+               for (i=(b->dmax - b->top)>>3; i>0; i--,A+=8)
                        {
                        A[0]=0; A[1]=0; A[2]=0; A[3]=0;
                        A[4]=0; A[5]=0; A[6]=0; A[7]=0;
                        }
-               for (i=(words - b->top)&7; i>0; i--,A++)
+               for (i=(b->dmax - b->top)&7; i>0; i--,A++)
                        A[0]=0;
+               assert(A == &(b->d[b->dmax]));
                }
                
        return b;