From d015ba58de962b9c9d4fbe48e77d902880d09388 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Tue, 17 Feb 2026 16:10:24 +0100 Subject: [PATCH] [winpr,collections] fix sign warnings --- winpr/libwinpr/utils/collections/BufferPool.c | 4 ++-- .../libwinpr/utils/collections/MessageQueue.c | 19 +++++-------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/winpr/libwinpr/utils/collections/BufferPool.c b/winpr/libwinpr/utils/collections/BufferPool.c index 4b8bf3e13..ae28a84cf 100644 --- a/winpr/libwinpr/utils/collections/BufferPool.c +++ b/winpr/libwinpr/utils/collections/BufferPool.c @@ -137,9 +137,9 @@ static BOOL BufferPool_ShiftUsed(wBufferPool* pool, SSIZE_T index, SSIZE_T count SSIZE_T newUCapacity = pool->uCapacity; do { - if (newUCapacity > SIZE_MAX - 128ull) + if (newUCapacity > SSIZE_MAX - 128ll) return FALSE; - newUCapacity += 128ull; + newUCapacity += 128ll; } while (newUCapacity <= required); wBufferPoolItem* newUArray = NULL; if (pool->alignment > 0) diff --git a/winpr/libwinpr/utils/collections/MessageQueue.c b/winpr/libwinpr/utils/collections/MessageQueue.c index cc1f579f3..3feae193d 100644 --- a/winpr/libwinpr/utils/collections/MessageQueue.c +++ b/winpr/libwinpr/utils/collections/MessageQueue.c @@ -101,25 +101,16 @@ static BOOL MessageQueue_EnsureCapacity(wMessageQueue* queue, size_t count) if ((required < queue->size) || (required < count)) return FALSE; - if (required >= queue->capacity) + if (required > queue->capacity) { - size_t old_capacity = queue->capacity; - size_t new_capacity = queue->capacity; + const size_t old_capacity = queue->capacity; - if (new_capacity < required) - { - new_capacity = queue->size + count; - // check for overflow - if (new_capacity < old_capacity) - return FALSE; - } - - wMessage* new_arr = (wMessage*)realloc(queue->array, sizeof(wMessage) * new_capacity); + wMessage* new_arr = (wMessage*)realloc(queue->array, sizeof(wMessage) * required); if (!new_arr) return FALSE; queue->array = new_arr; - queue->capacity = new_capacity; - ZeroMemory(&(queue->array[old_capacity]), (new_capacity - old_capacity) * sizeof(wMessage)); + queue->capacity = required; + ZeroMemory(&(queue->array[old_capacity]), (required - old_capacity) * sizeof(wMessage)); /* rearrange wrapped entries */ if (queue->tail <= queue->head)