Loading src/common/util.c +6 −2 Original line number Diff line number Diff line Loading @@ -1426,8 +1426,12 @@ int addr_mask_get_bits(uint32_t mask) { int i; if (mask == 0) return 0; if (mask == 0xFFFFFFFFu) return 32; for (i=0; i<=32; ++i) { if (mask == ~((1<<(32-i))-1)) { if (mask == (uint32_t) ~((1u<<(32-i))-1)) { return i; } } Loading Loading @@ -1493,7 +1497,7 @@ parse_addr_and_port_range(const char *s, uint32_t *addr_out, "Bad number of mask bits on address range; rejecting."); goto err; } *mask_out = ~((1<<(32-bits))-1); *mask_out = ~((1u<<(32-bits))-1); } else if (tor_inet_aton(mask, &in) != 0) { *mask_out = ntohl(in.s_addr); } else { Loading src/or/test.c +5 −0 Original line number Diff line number Diff line Loading @@ -835,6 +835,11 @@ test_util(void) test_eq(u32, 0x7f000001u); test_eq(u16, 0); tor_free(cp); test_eq(0, addr_mask_get_bits(0x0u)); test_eq(32, addr_mask_get_bits(0xFFFFFFFFu)); test_eq(16, addr_mask_get_bits(0xFFFF0000u)); test_eq(31, addr_mask_get_bits(0xFFFFFFFEu)); test_eq(1, addr_mask_get_bits(0x80000000u)); /* Test tor_parse_long. */ test_eq(10L, tor_parse_long("10",10,0,100,NULL,NULL)); Loading Loading
src/common/util.c +6 −2 Original line number Diff line number Diff line Loading @@ -1426,8 +1426,12 @@ int addr_mask_get_bits(uint32_t mask) { int i; if (mask == 0) return 0; if (mask == 0xFFFFFFFFu) return 32; for (i=0; i<=32; ++i) { if (mask == ~((1<<(32-i))-1)) { if (mask == (uint32_t) ~((1u<<(32-i))-1)) { return i; } } Loading Loading @@ -1493,7 +1497,7 @@ parse_addr_and_port_range(const char *s, uint32_t *addr_out, "Bad number of mask bits on address range; rejecting."); goto err; } *mask_out = ~((1<<(32-bits))-1); *mask_out = ~((1u<<(32-bits))-1); } else if (tor_inet_aton(mask, &in) != 0) { *mask_out = ntohl(in.s_addr); } else { Loading
src/or/test.c +5 −0 Original line number Diff line number Diff line Loading @@ -835,6 +835,11 @@ test_util(void) test_eq(u32, 0x7f000001u); test_eq(u16, 0); tor_free(cp); test_eq(0, addr_mask_get_bits(0x0u)); test_eq(32, addr_mask_get_bits(0xFFFFFFFFu)); test_eq(16, addr_mask_get_bits(0xFFFF0000u)); test_eq(31, addr_mask_get_bits(0xFFFFFFFEu)); test_eq(1, addr_mask_get_bits(0x80000000u)); /* Test tor_parse_long. */ test_eq(10L, tor_parse_long("10",10,0,100,NULL,NULL)); Loading