Call pcap_freecode on filter
authorJoseph C. Lehner <joseph.c.lehner@gmail.com>
Mon, 8 Feb 2016 13:34:32 +0000 (14:34 +0100)
committerJoseph C. Lehner <joseph.c.lehner@gmail.com>
Mon, 8 Feb 2016 13:34:32 +0000 (14:34 +0100)
ethsock.c

index 371364f627efd67ac20f9ea66cdb23c126914d46..9a0cd1705cfd9d55417c17ffbdfb06f7ee708d18 100644 (file)
--- a/ethsock.c
+++ b/ethsock.c
@@ -319,7 +319,10 @@ struct ethsock *ethsock_create(const char *intf, uint16_t protocol)
                goto cleanup_pcap;
        }
 
-       if ((err = pcap_setfilter(sock->pcap, &fp))) {
+       err = pcap_setfilter(sock->pcap, &fp);
+       pcap_freecode(&fp);
+
+       if (err) {
                pcap_perror(sock->pcap, "pcap_setfilter");
                goto cleanup_pcap;
        }