make sure fast invmod lowers result in too big case

This commit is contained in:
toddouska 2015-09-28 15:56:27 -07:00
parent 27450aca7d
commit ad51d4ba09
2 changed files with 10 additions and 0 deletions

View File

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

View File

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