summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/bn/bn_lib.c1
-rw-r--r--crypto/bn/bn_nist.c3
-rw-r--r--crypto/bn/bn_recp.c2
3 files changed, 4 insertions, 2 deletions
diff --git a/crypto/bn/bn_lib.c b/crypto/bn/bn_lib.c
index 8207bce230..783881d3a6 100644
--- a/crypto/bn/bn_lib.c
+++ b/crypto/bn/bn_lib.c
@@ -462,7 +462,6 @@ BIGNUM *bn_expand2(BIGNUM *b, int words)
A[0]=0;
assert(A == &(b->d[b->dmax]));
}
-
return b;
}
diff --git a/crypto/bn/bn_nist.c b/crypto/bn/bn_nist.c
index 19bd540725..2ababfbed1 100644
--- a/crypto/bn/bn_nist.c
+++ b/crypto/bn/bn_nist.c
@@ -823,6 +823,7 @@ int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
if (tmp->top == BN_NIST_521_TOP)
tmp->d[BN_NIST_521_TOP-1] &= BN_NIST_521_TOP_MASK;
+ bn_fix_top(tmp);
if (!BN_uadd(r, tmp, r))
return 0;
top = r->top;
@@ -838,6 +839,6 @@ int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
ret = 1;
err:
BN_CTX_end(ctx);
-
+
return ret;
}
diff --git a/crypto/bn/bn_recp.c b/crypto/bn/bn_recp.c
index ef5fdd4708..22cbcfc49b 100644
--- a/crypto/bn/bn_recp.c
+++ b/crypto/bn/bn_recp.c
@@ -203,6 +203,8 @@ int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
ret=1;
err:
BN_CTX_end(ctx);
+ if(dv) bn_fix_top(dv);
+ if(rem) bn_fix_top(rem);
return(ret);
}