From eafad297de9dfa172a2935c63b820d478e4e67e1 Mon Sep 17 00:00:00 2001 From: wanghengZzz Date: Sat, 8 Aug 2026 18:12:25 +0800 Subject: [PATCH] Add configASSERT to queue metadata accessor functions uxQueueGetQueueNumber(), vQueueSetQueueNumber(), ucQueueGetQueueType(), uxQueueGetQueueItemSize(), and uxQueueGetQueueLength() dereference the queue handle without first checking that it is not NULL, unlike other public queue accessors such as uxQueueMessagesWaiting() and uxQueueSpacesAvailable(). This adds configASSERT( xQueue ) to each of these functions for consistency and to catch invalid handles in debug builds. --- queue.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/queue.c b/queue.c index 83c7ac7309..a56f5f4d60 100644 --- a/queue.c +++ b/queue.c @@ -2308,6 +2308,8 @@ void vQueueDelete( QueueHandle_t xQueue ) { traceENTER_uxQueueGetQueueNumber( xQueue ); + configASSERT( xQueue ); + traceRETURN_uxQueueGetQueueNumber( ( ( Queue_t * ) xQueue )->uxQueueNumber ); return ( ( Queue_t * ) xQueue )->uxQueueNumber; @@ -2323,6 +2325,8 @@ void vQueueDelete( QueueHandle_t xQueue ) { traceENTER_vQueueSetQueueNumber( xQueue, uxQueueNumber ); + configASSERT( xQueue ); + ( ( Queue_t * ) xQueue )->uxQueueNumber = uxQueueNumber; traceRETURN_vQueueSetQueueNumber(); @@ -2337,6 +2341,8 @@ void vQueueDelete( QueueHandle_t xQueue ) { traceENTER_ucQueueGetQueueType( xQueue ); + configASSERT( xQueue ); + traceRETURN_ucQueueGetQueueType( ( ( Queue_t * ) xQueue )->ucQueueType ); return ( ( Queue_t * ) xQueue )->ucQueueType; @@ -2349,6 +2355,8 @@ UBaseType_t uxQueueGetQueueItemSize( QueueHandle_t xQueue ) /* PRIVILEGED_FUNCTI { traceENTER_uxQueueGetQueueItemSize( xQueue ); + configASSERT( xQueue ); + traceRETURN_uxQueueGetQueueItemSize( ( ( Queue_t * ) xQueue )->uxItemSize ); return ( ( Queue_t * ) xQueue )->uxItemSize; @@ -2359,6 +2367,8 @@ UBaseType_t uxQueueGetQueueLength( QueueHandle_t xQueue ) /* PRIVILEGED_FUNCTION { traceENTER_uxQueueGetQueueLength( xQueue ); + configASSERT( xQueue ); + traceRETURN_uxQueueGetQueueLength( ( ( Queue_t * ) xQueue )->uxLength ); return ( ( Queue_t * ) xQueue )->uxLength;