[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Fix a ubsan warning in addr_mask_get_bits



commit dfdeb6418d3d99e6e9099a3ad8ca83c206b52bdc
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Tue Mar 18 10:49:39 2014 -0400

    Fix a ubsan warning in addr_mask_get_bits
    
    ubsan doesn't like us to do (1u<<32) when 32 is wider than
    unsigned.  Fortunately, we already special-case
    addr_mask_get_bits(0), so we can just change the loop bounds.
---
 src/common/address.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/common/address.c b/src/common/address.c
index 69049fa..bb1a244 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -1585,7 +1585,7 @@ addr_mask_get_bits(uint32_t mask)
     return 0;
   if (mask == 0xFFFFFFFFu)
     return 32;
-  for (i=0; i<=32; ++i) {
+  for (i=1; i<=32; ++i) {
     if (mask == (uint32_t) ~((1u<<(32-i))-1)) {
       return i;
     }



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits