From 2b8568ce3776959d434ac704666c75da1127d595 Mon Sep 17 00:00:00 2001 From: tabudz Date: Sat, 22 Feb 2025 15:46:12 +0800 Subject: [PATCH] add assert for addition overflow on queue creation (#225) --- source/Middlewares/Third_Party/FreeRTOS/Source/queue.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/Middlewares/Third_Party/FreeRTOS/Source/queue.c b/source/Middlewares/Third_Party/FreeRTOS/Source/queue.c index 5c9002dc..198f1a11 100644 --- a/source/Middlewares/Third_Party/FreeRTOS/Source/queue.c +++ b/source/Middlewares/Third_Party/FreeRTOS/Source/queue.c @@ -397,6 +397,9 @@ BaseType_t xQueueGenericReset( QueueHandle_t xQueue, /* Check for multiplication overflow. */ configASSERT( ( uxItemSize == 0 ) || ( uxQueueLength == ( xQueueSizeInBytes / uxItemSize ) ) ); + /* Check for addition overflow. */ + configASSERT( ( sizeof( Queue_t ) + xQueueSizeInBytes ) > xQueueSizeInBytes ); + /* Allocate the queue and storage area. Justification for MISRA * deviation as follows: pvPortMalloc() always ensures returned memory * blocks are aligned per the requirements of the MCU stack. In this case