From 74abd99192e849d01ef4e4cf08d28bc8efe13fb4 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Thu, 5 Sep 2019 17:42:18 -0700 Subject: [PATCH] fix asan int overflow in hash --- .../plugins/collisionFilterPlugin/collisionFilterPlugin.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp b/examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp index 40ec2341d..981b91caa 100644 --- a/examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp +++ b/examples/SharedMemory/plugins/collisionFilterPlugin/collisionFilterPlugin.cpp @@ -25,7 +25,7 @@ struct b3CustomCollisionFilter int obB = ((m_objectUniqueIdB & 0xf) << 8); int linkA = ((m_linkIndexA & 0xff) << 16); int linkB = ((m_linkIndexB & 0xff) << 24); - int key = obA + obB + linkA + linkB; + long long int key = obA + obB + linkA + linkB; // Thomas Wang's hash key += ~(key << 15); key ^= (key >> 10); @@ -33,7 +33,7 @@ struct b3CustomCollisionFilter key ^= (key >> 6); key += ~(key << 11); key ^= (key >> 16); - return key; + return (int) key; } bool equals(const b3CustomCollisionFilter& other) const {