tipc: potential shift wrapping bug in map_set()
[deliverable/linux.git] / net / tipc / monitor.c
index 87d4efedd09fd9768a925ac99d374c8ac6b78584..0d489e81fcca129dbb12f5c00390aad7014ef89e 100644 (file)
@@ -122,8 +122,8 @@ static int dom_size(int peers)
 
 static void map_set(u64 *up_map, int i, unsigned int v)
 {
-       *up_map &= ~(1 << i);
-       *up_map |= (v << i);
+       *up_map &= ~(1ULL << i);
+       *up_map |= ((u64)v << i);
 }
 
 static int map_get(u64 up_map, int i)
This page took 0.024727 seconds and 5 git commands to generate.