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:
Darian Leung
2023-06-30 14:22:43 +01:00
parent 28a6aeb303
commit 4a15db126a

View File

@@ -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)