Merge remote-tracking branch 'public/bug13104_025'

This commit is contained in:
Nick Mathewson
2014-09-11 08:30:41 -04:00
+10 -6
View File
@@ -3363,20 +3363,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);
}
}
}