From 80db96672d30a813c74624b7b02160671f27b11f Mon Sep 17 00:00:00 2001 From: veclavtalica Date: Sat, 1 Mar 2025 12:15:41 +0300 Subject: [PATCH] stb_ds.h: fix implicit casts to int, resulting in bogus bitshift --- third-party/stb/stb_ds.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/third-party/stb/stb_ds.h b/third-party/stb/stb_ds.h index fc0286e..32b7f7b 100644 --- a/third-party/stb/stb_ds.h +++ b/third-party/stb/stb_ds.h @@ -1079,8 +1079,8 @@ static size_t stbds_siphash_bytes(void *p, size_t len, size_t seed) } while (0) for (i=0; i+sizeof(size_t) <= len; i += sizeof(size_t), d += sizeof(size_t)) { - data = d[0] | (d[1] << 8) | (d[2] << 16) | (d[3] << 24); - data |= (size_t) (d[4] | (d[5] << 8) | (d[6] << 16) | (d[7] << 24)) << 16 << 16; // discarded if size_t == 4 + data = d[0] | (d[1] << 8) | (d[2] << 16) | ((size_t) d[3] << 24); + data |= (size_t) (d[4] | (d[5] << 8) | (d[6] << 16) | ((size_t) d[7] << 24)) << 16 << 16; // discarded if size_t == 4 v3 ^= data; for (j=0; j < STBDS_SIPHASH_C_ROUNDS; ++j) @@ -1092,10 +1092,10 @@ static size_t stbds_siphash_bytes(void *p, size_t len, size_t seed) case 7: data |= ((size_t) d[6] << 24) << 24; // fall through case 6: data |= ((size_t) d[5] << 20) << 20; // fall through case 5: data |= ((size_t) d[4] << 16) << 16; // fall through - case 4: data |= (d[3] << 24); // fall through - case 3: data |= (d[2] << 16); // fall through - case 2: data |= (d[1] << 8); // fall through - case 1: data |= d[0]; // fall through + case 4: data |= ((size_t) d[3] << 24); // fall through + case 3: data |= ((size_t) d[2] << 16); // fall through + case 2: data |= ((size_t) d[1] << 8); // fall through + case 1: data |= (size_t) d[0]; // fall through case 0: break; } v3 ^= data;