Browse Source

Avoid integer error in TEST_BITOPS tests

If "1" is not 64 bits wide already, then "1 << i" will not actually
work.

This bug only affects the TEST_BITOPS code, and shouldn't matter for
the actual use of the timeout code (except if/when it causes this
test to fail).

Reported by dcb314@hotmail.com.  Fix for bug 23583.  Not adding a
changes file, since this code is never compiled into Tor.
Nick Mathewson 6 years ago
parent
commit
10ea3343b5
1 changed files with 2 additions and 1 deletions
  1. 2 1
      src/ext/timeouts/timeout-bitops.c

+ 2 - 1
src/ext/timeouts/timeout-bitops.c

@@ -231,7 +231,8 @@ main(int c, char **v)
 	int result = 0;
 
 	for (i = 0; i <= 63; ++i) {
-		uint64_t x = 1 << i;
+		uint64_t x = 1;
+		x <<= i;
 		if (!check(x))
 			result = 1;
 		--x;