MINOR: stats-file: use explicit unsigned integer bitshift for user slots

As reported in GH #3104, there remained a place where (1 << shift was
used to set or remove bits from uint64_t users bitfield. It is incorrect
and could lead to bugs for values > 32 bits.

Instead, let's use 1ULL to ensure the operation remains 64bits consistent.

No backport needed.
This commit is contained in:
Aurelien DARRAGON 2025-09-08 11:25:39 +02:00 committed by Willy Tarreau
parent 9272b8ce74
commit b9ef55d56d

View File

@ -566,7 +566,7 @@ static struct shm_stats_file_object *shm_stats_file_reuse_object(void)
free = 1; // consider all users are inactive for now
while (slot < sizeof(shm_stats_file_hdr->slots) / sizeof(shm_stats_file_hdr->slots[0])) {
if ((users & (1 << slot)) &&
if ((users & (1ULL << slot)) &&
!shm_stats_file_slot_isfree(shm_stats_file_hdr, slot)) {
/* user still alive, so supposedly making use of it */
free = 0;