forked from espressif/esp-idf
fix(esp_ringbuf): Fix "USE_AFTER_FREE" coverity issue
Fix false positive in coverity where it thinks memory buffers are freed for statically created ring buffers, leading to a "USE_AFTER_FREE" warning in vRingbufferDeleteWithCaps().
This commit is contained in:
@@ -1244,14 +1244,11 @@ void vRingbufferDelete(RingbufHandle_t xRingbuffer)
|
|||||||
Ringbuffer_t *pxRingbuffer = (Ringbuffer_t *)xRingbuffer;
|
Ringbuffer_t *pxRingbuffer = (Ringbuffer_t *)xRingbuffer;
|
||||||
configASSERT(pxRingbuffer);
|
configASSERT(pxRingbuffer);
|
||||||
|
|
||||||
#if ( configSUPPORT_STATIC_ALLOCATION == 1 )
|
//Ring buffer was not statically allocated. Free its memory.
|
||||||
if (pxRingbuffer->uxRingbufferFlags & rbBUFFER_STATIC_FLAG) {
|
if ( !( pxRingbuffer->uxRingbufferFlags & rbBUFFER_STATIC_FLAG ) ) {
|
||||||
//Ring buffer was statically allocated, no need to free
|
free(pxRingbuffer->pucHead);
|
||||||
return;
|
free(pxRingbuffer);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
free(pxRingbuffer->pucHead);
|
|
||||||
free(pxRingbuffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t xRingbufferGetMaxItemSize(RingbufHandle_t xRingbuffer)
|
size_t xRingbufferGetMaxItemSize(RingbufHandle_t xRingbuffer)
|
||||||
|
Reference in New Issue
Block a user