mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Fix "comparison is always false" warnings in new test_util_di_ops
Having a constant zero means that unsigned < 0 is always false.
This commit is contained in:
parent
2491eadf00
commit
d02937a203
1 changed files with 10 additions and 6 deletions
|
@ -3278,20 +3278,24 @@ test_util_di_ops(void)
|
|||
* against each possible (single-byte) bit difference
|
||||
* some arithmetic bugs only appear with certain bit patterns */
|
||||
{
|
||||
const uint8_t z = 0;
|
||||
uint8_t zz = 0;
|
||||
uint8_t ii = 0;
|
||||
int z;
|
||||
for (i = 0; i < 256; i++) {
|
||||
ii = (uint8_t)i;
|
||||
test_eq(tor_memeq(&z, &ii, 1), z == ii);
|
||||
test_eq(tor_memeq(&zz, &ii, 1), zz == ii);
|
||||
}
|
||||
|
||||
/* exhaustively white-box test tor_memcmp
|
||||
* against each possible single-byte numeric difference
|
||||
* some arithmetic bugs only appear with certain bit patterns */
|
||||
for (i = 0; i < 256; i++) {
|
||||
ii = (uint8_t)i;
|
||||
test_eq(tor_memcmp(&z, &ii, 1) > 0 ? GT : EQ, z > ii ? GT : EQ);
|
||||
test_eq(tor_memcmp(&ii, &z, 1) < 0 ? LT : EQ, ii < z ? LT : EQ);
|
||||
for (z = 0; z < 256; z++) {
|
||||
for (i = 0; i < 256; i++) {
|
||||
ii = (uint8_t)i;
|
||||
zz = (uint8_t)z;
|
||||
test_eq(tor_memcmp(&zz, &ii, 1) > 0 ? GT : EQ, zz > ii ? GT : EQ);
|
||||
test_eq(tor_memcmp(&ii, &zz, 1) < 0 ? LT : EQ, ii < zz ? LT : EQ);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue