1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-19 10:05:05 -07:00

Decrement and shift in separate steps

This commit is contained in:
Frank Denis 2024-10-23 19:44:58 +02:00
parent 409b3a70ad
commit 96d115cf29

View File

@ -566,9 +566,10 @@ static unsigned char
equal(signed char b, signed char c)
{
const unsigned char x = (unsigned char) b ^ (unsigned char) c; /* 0: yes; 1..255: no */
const uint32_t y = (uint32_t) x; /* 0: yes; 1..255: no */
uint32_t y = (uint32_t) x; /* 0: yes; 1..255: no */
return (((y - 1) >> 29) ^ optblocker_u8) >> 2; /* 1: yes; 0: no */
y--;
return ((y >> 29) ^ optblocker_u8) >> 2; /* 1: yes; 0: no */
}
static unsigned char