]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
af-packet: free bpf program
authorEric Leblond <eric@regit.org>
Mon, 18 Sep 2017 18:30:20 +0000 (20:30 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 20 Sep 2017 06:56:24 +0000 (08:56 +0200)
This fixes a small memory leak when Suricata is running with a
BPF filter.

src/source-af-packet.c

index 7a9d2abd07abef47776aa86675dfa36849e37398..3c1d000eb7640fde70c1cc1f647f304af56bcb7a 100644 (file)
@@ -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;