Update with a proper check

pull/3552/head
Tesfa Mael 2020-12-09 17:05:56 -08:00
parent 44903ff8ae
commit 4bd49d2b28
1 changed files with 3 additions and 5 deletions

View File

@ -1027,12 +1027,10 @@ void fp_mod_2d(fp_int *a, int b, fp_int *c)
c->dp[x] = 0;
}
/* clear the digit that is not completely outside/inside the modulus */
x = DIGIT_BIT - b;
if (x > 0) {
c->dp[b / DIGIT_BIT] &= ~((fp_digit)0) >> x;
x = DIGIT_BIT - (b % DIGIT_BIT);
if (x != DIGIT_BIT) {
c->dp[b / DIGIT_BIT] &= ~((fp_digit)0) >> x;
}
else
c->dp[b / DIGIT_BIT] &= ~((fp_digit)0) << -x;
fp_clamp (c);
}