Some provisional bignum debugging has begun to detect inconsistent BIGNUM
structures being passed in to or out of API functions, and this corrects a couple of cases found so far. Also, lop off a couple of bytes of white-space.
This commit is contained in:
parent
2754597013
commit
31166ec8f3
3 changed files with 4 additions and 2 deletions
|
@ -462,7 +462,6 @@ BIGNUM *bn_expand2(BIGNUM *b, int words)
|
||||||
A[0]=0;
|
A[0]=0;
|
||||||
assert(A == &(b->d[b->dmax]));
|
assert(A == &(b->d[b->dmax]));
|
||||||
}
|
}
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -823,6 +823,7 @@ int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
|
||||||
if (tmp->top == BN_NIST_521_TOP)
|
if (tmp->top == BN_NIST_521_TOP)
|
||||||
tmp->d[BN_NIST_521_TOP-1] &= BN_NIST_521_TOP_MASK;
|
tmp->d[BN_NIST_521_TOP-1] &= BN_NIST_521_TOP_MASK;
|
||||||
|
|
||||||
|
bn_fix_top(tmp);
|
||||||
if (!BN_uadd(r, tmp, r))
|
if (!BN_uadd(r, tmp, r))
|
||||||
return 0;
|
return 0;
|
||||||
top = r->top;
|
top = r->top;
|
||||||
|
|
|
@ -203,6 +203,8 @@ int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,
|
||||||
ret=1;
|
ret=1;
|
||||||
err:
|
err:
|
||||||
BN_CTX_end(ctx);
|
BN_CTX_end(ctx);
|
||||||
|
if(dv) bn_fix_top(dv);
|
||||||
|
if(rem) bn_fix_top(rem);
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue