Browse code

oss-fuzz - 13649 - add 64bit typecast when searching hashtable to ensure constant-val leftshift will always fit as expected, regardless of architecture

Mickey Sola authored on 2019/03/13 05:39:00
Showing 1 changed files
... ...
@@ -709,9 +709,9 @@ void cli_hashset_destroy(struct cli_hashset *hs)
709 709
     hs->capacity          = 0;
710 710
 }
711 711
 
712
-#define BITMAP_CONTAINS(bmap, val) ((bmap)[(val) >> 5] & (1 << ((val)&0x1f)))
713
-#define BITMAP_INSERT(bmap, val) ((bmap)[(val) >> 5] |= (1 << ((val)&0x1f)))
714
-#define BITMAP_REMOVE(bmap, val) ((bmap)[(val) >> 5] &= ~(1 << ((val)&0x1f)))
712
+#define BITMAP_CONTAINS(bmap, val) ((bmap)[(val) >> 5] & ((uint64_t) 1 << ((val)&0x1f)))
713
+#define BITMAP_INSERT(bmap, val) ((bmap)[(val) >> 5] |= ((uint64_t) 1 << ((val)&0x1f)))
714
+#define BITMAP_REMOVE(bmap, val) ((bmap)[(val) >> 5] &= ~((uint64_t) 1 << ((val)&0x1f)))
715 715
 
716 716
 /*
717 717
  * searches the hashset for the @key.