From f05b188f8b4ccd1d3f466c3e28390c4c2005fa19 Mon Sep 17 00:00:00 2001 From: Duncan Roe Date: Tue, 7 May 2024 09:17:19 +1000 Subject: Stop a memory leak in nfq_close 0c5e5fb introduced struct nfqnl_q_handle *qh_list which can point to dynamically acquired memory. Without this patch, that memory is not freed. Fixes: 0c5e5fb15205 ("sync with all 'upstream' changes in libnfnetlink_log") Signed-off-by: Duncan Roe Signed-off-by: Florian Westphal --- src/libnetfilter_queue.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/libnetfilter_queue.c b/src/libnetfilter_queue.c index bf67a19..f152efb 100644 --- a/src/libnetfilter_queue.c +++ b/src/libnetfilter_queue.c @@ -481,7 +481,13 @@ EXPORT_SYMBOL int nfq_close(struct nfq_handle *h) { int ret; + struct nfq_q_handle *qh; + while (h->qh_list) { + qh = h->qh_list; + h->qh_list = qh->next; + free(qh); + } ret = nfnl_close(h->nfnlh); if (ret == 0) free(h); -- cgit v1.2.3