projects
/
BearSSL
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some renaming to avoid spurious warnings on some old GCC versions.
[BearSSL]
/
src
/
int
/
i15_modpow2.c
diff --git
a/src/int/i15_modpow2.c
b/src/int/i15_modpow2.c
index
dce9941
..
4b32118
100644
(file)
--- a/
src/int/i15_modpow2.c
+++ b/
src/int/i15_modpow2.c
@@
-41,6
+41,7
@@
br_i15_modpow_opt(uint16_t *x,
*/
mwlen = (m[0] + 31) >> 4;
mlen = mwlen * sizeof m[0];
*/
mwlen = (m[0] + 31) >> 4;
mlen = mwlen * sizeof m[0];
+ mwlen += (mwlen & 1);
t1 = tmp;
t2 = tmp + mwlen;
t1 = tmp;
t2 = tmp + mwlen;
@@
-86,7
+87,7
@@
br_i15_modpow_opt(uint16_t *x,
* one word-sized shift.
*/
br_i15_zero(x, m[0]);
* one word-sized shift.
*/
br_i15_zero(x, m[0]);
- x[
mwlen - 1
] = 1;
+ x[
(m[0] + 15) >> 4
] = 1;
br_i15_muladd_small(x, 0, m);
/*
br_i15_muladd_small(x, 0, m);
/*
@@
-133,11
+134,11
@@
br_i15_modpow_opt(uint16_t *x,
br_i15_zero(t2, m[0]);
base = t2 + mwlen;
for (u = 1; u < ((uint32_t)1 << k); u ++) {
br_i15_zero(t2, m[0]);
base = t2 + mwlen;
for (u = 1; u < ((uint32_t)1 << k); u ++) {
- uint32_t m;
+ uint32_t m
ask
;
- m = -EQ(u, bits);
+ m
ask
= -EQ(u, bits);
for (v = 1; v < mwlen; v ++) {
for (v = 1; v < mwlen; v ++) {
- t2[v] |= m & base[v];
+ t2[v] |= m
ask
& base[v];
}
base += mwlen;
}
}
base += mwlen;
}