Renamed local variable to avoid a warning about a redefinition; also disabled the MSVC warning C4146 (it is raised whenever negation is applied on an unsigned type, but this has a portable and standard behaviour, and there are good reasons to do that).

This commit is contained in:
Thomas Pornin 2019-07-20 22:21:11 -04:00
부모 dba40c7d43
커밋 7175413a5c
4개의 변경된 파일28개의 추가작업 그리고 18개의 파일을 삭제

파일 보기

@ -3,7 +3,12 @@
LIBRARY=libfalcon-1024_clean.lib
OBJECTS=codec.obj common.obj fft.obj fpr.obj keygen.obj pqclean.obj rng.obj sign.obj vrfy.obj
CFLAGS=/nologo /I ..\..\..\common /W4 /WX
# Warning C4146 is raised when a unary minus operator is applied to an
# unsigned type; this has nonetheless been standard and portable for as
# long as there has been a C standard, and we do that a lot, especially
# for constant-time computations. Thus, we disable that spurious warning.
CFLAGS=/nologo /I ..\..\..\common /W4 /wd4146 /WX
all: $(LIBRARY)

파일 보기

@ -140,7 +140,7 @@ PQCLEAN_FALCON1024_CLEAN_hash_to_point(
v = 0;
for (u = 0; u < m; u ++) {
uint16_t *s, *d;
unsigned j, sv, dv, m;
unsigned j, sv, dv, mk;
if (u < n) {
s = &x[u];
@ -160,11 +160,11 @@ PQCLEAN_FALCON1024_CLEAN_hash_to_point(
/*
* We increment v for the next iteration, but
* only if the source value is valid. The mask
* 'm' is -1 if the value is valid, 0 otherwise,
* so we _subtract_ m.
* 'mk' is -1 if the value is valid, 0 otherwise,
* so we _subtract_ mk.
*/
m = (sv >> 15) - 1U;
v -= m;
mk = (sv >> 15) - 1U;
v -= mk;
/*
* In this loop we consider jumps by p slots; if
@ -190,10 +190,10 @@ PQCLEAN_FALCON1024_CLEAN_hash_to_point(
* The swap should be performed only if the source
* is valid AND the jump j has its 'p' bit set.
*/
m &= -(((j & p) + 0x1FF) >> 9);
mk &= -(((j & p) + 0x1FF) >> 9);
*s = (uint16_t)(sv ^ (m & (sv ^ dv)));
*d = (uint16_t)(dv ^ (m & (sv ^ dv)));
*s = (uint16_t)(sv ^ (mk & (sv ^ dv)));
*d = (uint16_t)(dv ^ (mk & (sv ^ dv)));
}
}

파일 보기

@ -3,7 +3,12 @@
LIBRARY=libfalcon-512_clean.lib
OBJECTS=codec.obj common.obj fft.obj fpr.obj keygen.obj pqclean.obj rng.obj sign.obj vrfy.obj
CFLAGS=/nologo /I ..\..\..\common /W4 /WX
# Warning C4146 is raised when a unary minus operator is applied to an
# unsigned type; this has nonetheless been standard and portable for as
# long as there has been a C standard, and we do that a lot, especially
# for constant-time computations. Thus, we disable that spurious warning.
CFLAGS=/nologo /I ..\..\..\common /W4 /wd4146 /WX
all: $(LIBRARY)

파일 보기

@ -140,7 +140,7 @@ PQCLEAN_FALCON512_CLEAN_hash_to_point(
v = 0;
for (u = 0; u < m; u ++) {
uint16_t *s, *d;
unsigned j, sv, dv, m;
unsigned j, sv, dv, mk;
if (u < n) {
s = &x[u];
@ -160,11 +160,11 @@ PQCLEAN_FALCON512_CLEAN_hash_to_point(
/*
* We increment v for the next iteration, but
* only if the source value is valid. The mask
* 'm' is -1 if the value is valid, 0 otherwise,
* so we _subtract_ m.
* 'mk' is -1 if the value is valid, 0 otherwise,
* so we _subtract_ mk.
*/
m = (sv >> 15) - 1U;
v -= m;
mk = (sv >> 15) - 1U;
v -= mk;
/*
* In this loop we consider jumps by p slots; if
@ -190,10 +190,10 @@ PQCLEAN_FALCON512_CLEAN_hash_to_point(
* The swap should be performed only if the source
* is valid AND the jump j has its 'p' bit set.
*/
m &= -(((j & p) + 0x1FF) >> 9);
mk &= -(((j & p) + 0x1FF) >> 9);
*s = (uint16_t)(sv ^ (m & (sv ^ dv)));
*d = (uint16_t)(dv ^ (m & (sv ^ dv)));
*s = (uint16_t)(sv ^ (mk & (sv ^ dv)));
*d = (uint16_t)(dv ^ (mk & (sv ^ dv)));
}
}