From: Richard Levitte Date: Wed, 26 Jul 2000 01:14:16 +0000 (+0000) Subject: Darrel Hankerson correctly discovered X-Git-Tag: OpenSSL-engine-0_9_6-beta1~17^2~13 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=47ff5de8c2efa09392dab257c4616881ba3b8037;p=oweals%2Fopenssl.git Darrel Hankerson correctly discovered that of the result pointer to bn_mul was the same as one of the two arguments, That argument might have it's sign destroyed. He provided this fix. --- diff --git a/crypto/bn/bn_mul.c b/crypto/bn/bn_mul.c index 3e8baaad9a..3e8d8b9567 100644 --- a/crypto/bn/bn_mul.c +++ b/crypto/bn/bn_mul.c @@ -631,7 +631,6 @@ int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) al=a->top; bl=b->top; - r->neg=a->neg^b->neg; if ((al == 0) || (bl == 0)) { @@ -647,6 +646,7 @@ int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx) } else rr = r; + rr->neg=a->neg^b->neg; #if defined(BN_MUL_COMBA) || defined(BN_RECURSION) i = al-bl;