SP int: sp_invmod_mont_ct check err before setting

Two places in sp_invmod_mont_ct were not checking err is set before
performing a new operation and setting err. Change to check error before
performing operation.
This commit is contained in:
Sean Parkinson
2023-02-02 08:31:38 +10:00
parent 087e2dc22a
commit 55d43a46b8

View File

@ -12013,7 +12013,9 @@ int sp_invmod_mont_ct(const sp_int* a, const sp_int* m, sp_int* r,
s = bit;
/* 6.4.4. t = (t * pre[j-1]) mod m */
err = sp_mul(t, pre[j-1], t);
if (err == MP_OKAY) {
err = sp_mul(t, pre[j-1], t);
}
if (err == MP_OKAY) {
err = _sp_mont_red(t, m, mp);
}
@ -12034,6 +12036,8 @@ int sp_invmod_mont_ct(const sp_int* a, const sp_int* m, sp_int* r,
err = _sp_mont_red(t, m, mp);
}
}
}
if (err == MP_OKAY) {
/* 8. If j > 0 then r = (t * pre[j-1]) mod m */
if (j > 0) {
err = sp_mul(t, pre[j-1], r);