From 8fa6e065bc7292d3cb93298f72f9af7264a273bc Mon Sep 17 00:00:00 2001 From: Eric Leblond Date: Mon, 18 Sep 2017 20:30:20 +0200 Subject: [PATCH] af-packet: free bpf program This fixes a small memory leak when Suricata is running with a BPF filter. --- src/source-af-packet.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/source-af-packet.c b/src/source-af-packet.c index 7a9d2abd07..3c1d000eb7 100644 --- a/src/source-af-packet.c +++ b/src/source-af-packet.c @@ -2100,6 +2100,7 @@ TmEcode AFPSetBPFFilter(AFPThreadVars *ptv) if (filter.bf_insns == NULL) { SCLogError(SC_ERR_AFP_CREATE, "Filter badly setup."); + pcap_freecode(&filter); return TM_ECODE_FAILED; } @@ -2108,6 +2109,7 @@ TmEcode AFPSetBPFFilter(AFPThreadVars *ptv) rc = setsockopt(ptv->socket, SOL_SOCKET, SO_ATTACH_FILTER, &fcode, sizeof(fcode)); + pcap_freecode(&filter); if(rc == -1) { SCLogError(SC_ERR_AFP_CREATE, "Failed to attach filter: %s", strerror(errno)); return TM_ECODE_FAILED;