]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
dbus-hash: Fix RANDOM_INDEX signed-integer-overflow on 32-bit
authorJami Kettunen <jami.kettunen@protonmail.com>
Sat, 9 Nov 2024 23:54:55 +0000 (01:54 +0200)
committerSimon McVittie <smcv@collabora.com>
Fri, 29 Nov 2024 12:57:15 +0000 (12:57 +0000)
Found by compiling with clang -fsanitize=signed-integer-overflow etc and
running dbus-daemon on armv7.

Signed-off-by: Jami Kettunen <jami.kettunen@protonmail.com>
dbus/dbus-hash.c

index 2635a1546abfc9c7201a51a6e75dd8f80e7037b8..20a0230c78cfb38ca3adf42495e16a13335a2329 100644 (file)
  * 
  */
 #define RANDOM_INDEX(table, i) \
-    (((((intptr_t) (i))*1103515245) >> (table)->down_shift) & (table)->mask)
+    (((((uintptr_t) (i))*1103515245) >> (table)->down_shift) & (table)->mask)
 
 /**
  * Initial number of buckets in hash table (hash table statically