Add description about overrun warning in queue.c (#869)
* Add description about overrun warning in queue.c
* Remove the unreachable configASSERT
* Code review suggestions
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
* Fix formatting
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
---------
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-34-245.ap-northeast-1.compute.internal>
Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
diff --git a/queue.c b/queue.c
index a6fe52e..6a46260 100644
--- a/queue.c
+++ b/queue.c
@@ -1849,6 +1849,14 @@
* again, but only as low as the next highest priority
* task that is waiting for the same mutex. */
uxHighestWaitingPriority = prvGetDisinheritPriorityAfterTimeout( pxQueue );
+
+ /* vTaskPriorityDisinheritAfterTimeout uses the uxHighestWaitingPriority
+ * parameter to index pxReadyTasksLists when adding the task holding
+ * mutex to the ready list for its new priority. Coverity thinks that
+ * it can result in out-of-bounds access which is not true because
+ * uxHighestWaitingPriority, as returned by prvGetDisinheritPriorityAfterTimeout,
+ * is capped at ( configMAX_PRIORITIES - 1 ). */
+ /* coverity[overrun] */
vTaskPriorityDisinheritAfterTimeout( pxQueue->u.xSemaphore.xMutexHolder, uxHighestWaitingPriority );
}
taskEXIT_CRITICAL();