mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-03 20:54:41 +02:00
make sure fast invmod lowers result in too big case
This commit is contained in:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user