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:
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user