I was experiencing a memory leak during nbns/llmnr host name resolution of my device. I found out that the reply message to the resolve request is used with a parameter not to free the descriptor after sending it . Why should the memory for a dns reply not be freed after sending it?
Thats the function:
vReturnEthernetFrame( pxNetworkBuffer, pdFALSE );
Called in prvReplyDNSMessage(…) of the source file FreeRTOS_DNS.c.
To solve the issue I set pdFALSE to pdTRUE. So my output function will free the buffer descriptor.