mirror of https://github.com/wolfSSL/wolfssl
make sure fast invmod lowers result in too big case
This commit is contained in:
parent
27450aca7d
commit
ad51d4ba09
|
@ -989,6 +989,12 @@ top:
|
||||||
goto LBL_ERR;
|
goto LBL_ERR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* too big */
|
||||||
|
while (mp_cmp_mag(&D, b) != MP_LT) {
|
||||||
|
if ((res = mp_sub(&D, b, &D)) != MP_OKAY) {
|
||||||
|
goto LBL_ERR;
|
||||||
|
}
|
||||||
|
}
|
||||||
mp_exch (&D, c);
|
mp_exch (&D, c);
|
||||||
c->sign = neg;
|
c->sign = neg;
|
||||||
res = MP_OKAY;
|
res = MP_OKAY;
|
||||||
|
|
|
@ -950,6 +950,10 @@ top:
|
||||||
while (D.sign == FP_NEG) {
|
while (D.sign == FP_NEG) {
|
||||||
fp_add (&D, b, &D);
|
fp_add (&D, b, &D);
|
||||||
}
|
}
|
||||||
|
/* too big */
|
||||||
|
while (fp_cmp_mag(&D, b) != FP_LT) {
|
||||||
|
fp_sub(&D, b, &D);
|
||||||
|
}
|
||||||
fp_copy (&D, c);
|
fp_copy (&D, c);
|
||||||
c->sign = neg;
|
c->sign = neg;
|
||||||
return FP_OKAY;
|
return FP_OKAY;
|
||||||
|
|
Loading…
Reference in New Issue