Module Name: src Committed By: kamil Date: Fri Feb 14 01:52:35 UTC 2020
Modified Files: src/external/bsd/jemalloc/include/jemalloc/internal: hash.h Log Message: Fix undefined behavior in hash.h (jemalloc) Cherry-pick upstream patch: Fix Undefined Behavior in hash.h hash.h:200:27, left shift of 250 by 24 places cannot be represented in type 'int' https://github.com/jemalloc/jemalloc/commit/7fd22f7b2ea5ce2540563ece8e2d30a5316ac857 To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/bsd/jemalloc/include/jemalloc/internal/hash.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/jemalloc/include/jemalloc/internal/hash.h diff -u src/external/bsd/jemalloc/include/jemalloc/internal/hash.h:1.2 src/external/bsd/jemalloc/include/jemalloc/internal/hash.h:1.3 --- src/external/bsd/jemalloc/include/jemalloc/internal/hash.h:1.2 Mon Mar 4 20:21:18 2019 +++ src/external/bsd/jemalloc/include/jemalloc/internal/hash.h Fri Feb 14 01:52:35 2020 @@ -183,21 +183,21 @@ hash_x86_128(const void *key, const int k4 *= c4; k4 = hash_rotl_32(k4, 18); k4 *= c1; h4 ^= k4; /*FALLTHROUGH*/ - case 12: k3 ^= tail[11] << 24; /*FALLTHROUGH*/ + case 12: k3 ^= (uint32_t)tail[11] << 24; /*FALLTHROUGH*/ case 11: k3 ^= tail[10] << 16; /*FALLTHROUGH*/ case 10: k3 ^= tail[ 9] << 8; /*FALLTHROUGH*/ case 9: k3 ^= tail[ 8] << 0; k3 *= c3; k3 = hash_rotl_32(k3, 17); k3 *= c4; h3 ^= k3; /*FALLTHROUGH*/ - case 8: k2 ^= tail[ 7] << 24; /*FALLTHROUGH*/ + case 8: k2 ^= (uint32_t)tail[ 7] << 24; /*FALLTHROUGH*/ case 7: k2 ^= tail[ 6] << 16; /*FALLTHROUGH*/ case 6: k2 ^= tail[ 5] << 8; /*FALLTHROUGH*/ case 5: k2 ^= tail[ 4] << 0; k2 *= c2; k2 = hash_rotl_32(k2, 16); k2 *= c3; h2 ^= k2; /*FALLTHROUGH*/ - case 4: k1 ^= tail[ 3] << 24; /*FALLTHROUGH*/ + case 4: k1 ^= (uint32_t)tail[ 3] << 24; /*FALLTHROUGH*/ case 3: k1 ^= tail[ 2] << 16; /*FALLTHROUGH*/ case 2: k1 ^= tail[ 1] << 8; /*FALLTHROUGH*/ case 1: k1 ^= tail[ 0] << 0;