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:
Geoff Thorpe 2003-10-29 20:47:49 +00:00
parent 2754597013
commit 31166ec8f3
3 changed files with 4 additions and 2 deletions

View file

@ -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;
} }

View file

@ -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;

View file

@ -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);
} }