configASSERT( xReturn );
return xReturn;
so it’s impossible for the function to return NULL without triggering the assertion. However the documentation (http://www.freertos.org/a00116.html) states that xQueueCreate can return 0 to indicate failure.
If assertions were turned off this function would operate as documented, so it seems like this assert should not be present.
Bad assert in queue.c xQueueGenericCreate
In queue.c from FreeRTOS 8.2.2 the xQueueGenericCreate function ends (see line 383 on) with:
Bad assert in queue.c xQueueGenericCreate
Its gone! [but the change is not checked in yet]
If you have a malloc failed hook defined then that will get called anyway, so it was perhaps a little obsolete.
Bad assert in queue.c xQueueGenericCreate
Looks like this change never got checked in, I’m still seeing this assert in 8.2.3 and 9.0.0rc1
Bad assert in queue.c xQueueGenericCreate
Look at the definitions of xQueueGenericCreate() and
xQueueGenericCreateStatic() in the head revision (lines 384 and 332 at
the time of posting) – the assert was removed, but after rc1. Since rc1
some simplification of the static allocation code has been made.
https://sourceforge.net/p/freertos/code/HEAD/tree/trunk/FreeRTOS/Source/queue.c
Bad assert in queue.c xQueueGenericCreate
Excellent, thanks. Another reason to look forward to 9.0.0!