|
|
@@ -395,6 +395,12 @@ Queue_t * const pxQueue = xQueue;
|
|
|
xQueueSizeInBytes = ( size_t ) ( uxQueueLength * uxItemSize ); /*lint !e961 MISRA exception as the casts are only redundant for some ports. */
|
|
|
}
|
|
|
|
|
|
+ /* 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
|