浏览代码

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 8 年之前
父节点
当前提交
10ea3343b5
共有 1 个文件被更改,包括 2 次插入1 次删除
  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;