1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-10-27 12:15:39 +03:00

malloc: check "negative" tcache_key values by hand

instead of undefined cases from casting uintptr_t into intptr_t.
This commit is contained in:
Samuel Thibault
2025-09-09 23:03:26 +02:00
parent b8253693b7
commit 245ea60b0e

View File

@@ -3150,7 +3150,8 @@ tcache_key_initialize (void)
int minimum_bits = __WORDSIZE / 4;
int maximum_bits = __WORDSIZE - minimum_bits;
while (labs ((intptr_t) tcache_key) <= 0x1000000
while (tcache_key <= 0x1000000
|| tcache_key >= ((uintptr_t) ULONG_MAX) - 0x1000000
|| stdc_count_ones (tcache_key) < minimum_bits
|| stdc_count_ones (tcache_key) > maximum_bits)
{