]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Hash: typecast error fix
authorJan Moskyto Matejka <mq@ucw.cz>
Fri, 19 Feb 2016 14:51:16 +0000 (15:51 +0100)
committerJan Moskyto Matejka <mq@ucw.cz>
Fri, 19 Feb 2016 15:33:07 +0000 (16:33 +0100)
lib/hash.h
nest/rt-attr.c

index f4a953a319cadbf4775af8ccfe1092d5abf393c6..b064146616128293d2e4750174d675c6578a88df 100644 (file)
@@ -184,7 +184,8 @@ mem_hash(void *p, int s)
   const char *pp = p;
   const u64 multiplier = 0xb38bc09a61202731ULL;
   u64 value = 0x001047d54778bcafULL;
-  for (int i=0;i<s;i++)
+  int i;
+  for (i=0;i<s;i++)
     value = value*multiplier + pp[i];
 
   return ((value >> 32) ^ (value & 0xffffffff));
index 9777a2d2e11afe1a9f34e334e2f23a9e03e1419f..7d9605c2632f9b206f00c8db3965a1597dd33c97 100644 (file)
@@ -946,7 +946,7 @@ rta_alloc_hash(void)
 static inline uint
 rta_hash(rta *a)
 {
-  return mem_hash(a + offsetof(rta, src), sizeof(rta) - offsetof(rta, src)) ^
+  return mem_hash(((void *)a) + offsetof(rta, src), sizeof(rta) - offsetof(rta, src)) ^
         mpnh_hash(a->nexthops) ^ ea_hash(a->eattrs);
 }