stb_ds.h: fix implicit casts to int, resulting in bogus bitshift
This commit is contained in:
parent
2f6f7852be
commit
80db96672d
12
third-party/stb/stb_ds.h
vendored
12
third-party/stb/stb_ds.h
vendored
@ -1079,8 +1079,8 @@ static size_t stbds_siphash_bytes(void *p, size_t len, size_t seed)
|
|||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
for (i=0; i+sizeof(size_t) <= len; i += sizeof(size_t), d += sizeof(size_t)) {
|
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 = d[0] | (d[1] << 8) | (d[2] << 16) | ((size_t) 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 |= (size_t) (d[4] | (d[5] << 8) | (d[6] << 16) | ((size_t) d[7] << 24)) << 16 << 16; // discarded if size_t == 4
|
||||||
|
|
||||||
v3 ^= data;
|
v3 ^= data;
|
||||||
for (j=0; j < STBDS_SIPHASH_C_ROUNDS; ++j)
|
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 7: data |= ((size_t) d[6] << 24) << 24; // fall through
|
||||||
case 6: data |= ((size_t) d[5] << 20) << 20; // 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 5: data |= ((size_t) d[4] << 16) << 16; // fall through
|
||||||
case 4: data |= (d[3] << 24); // fall through
|
case 4: data |= ((size_t) d[3] << 24); // fall through
|
||||||
case 3: data |= (d[2] << 16); // fall through
|
case 3: data |= ((size_t) d[2] << 16); // fall through
|
||||||
case 2: data |= (d[1] << 8); // fall through
|
case 2: data |= ((size_t) d[1] << 8); // fall through
|
||||||
case 1: data |= d[0]; // fall through
|
case 1: data |= (size_t) d[0]; // fall through
|
||||||
case 0: break;
|
case 0: break;
|
||||||
}
|
}
|
||||||
v3 ^= data;
|
v3 ^= data;
|
||||||
|
Loading…
Reference in New Issue
Block a user