aboutsummaryrefslogtreecommitdiff
path: root/sys/netpfil
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2022-09-27 13:27:47 +0000
committerKristof Provost <kp@FreeBSD.org>2022-09-27 13:28:37 +0000
commit0044bd90f2397dfad5f4bbd12c64be86e0b7eb4a (patch)
treed2acb0b93b24658afa9db10de53de630726febbf /sys/netpfil
parente437991fc9361bce1b7dca999dbe3769321f01da (diff)
downloadsrc-0044bd90f2397dfad5f4bbd12c64be86e0b7eb4a.tar.gz
src-0044bd90f2397dfad5f4bbd12c64be86e0b7eb4a.zip
pf: fix memory leak retrieving Ethernet rules
Remember to free the nvlist we've added to our main nvlist. Sponsored by: Rubicon Communications, LLC ("Netgate")
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/pf/pf_nv.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf_nv.c b/sys/netpfil/pf/pf_nv.c
index 456433ccbf70..18495c118e75 100644
--- a/sys/netpfil/pf/pf_nv.c
+++ b/sys/netpfil/pf/pf_nv.c
@@ -1067,6 +1067,7 @@ pf_keth_rule_to_nveth_rule(const struct pf_keth_rule *krule)
return (NULL);
}
nvlist_add_nvlist(nvl, "src", addr);
+ nvlist_destroy(addr);
addr = pf_keth_rule_addr_to_nveth_rule_addr(&krule->dst);
if (addr == NULL) {
@@ -1074,6 +1075,7 @@ pf_keth_rule_to_nveth_rule(const struct pf_keth_rule *krule)
return (NULL);
}
nvlist_add_nvlist(nvl, "dst", addr);
+ nvlist_destroy(addr);
addr = pf_rule_addr_to_nvrule_addr(&krule->ipsrc);
if (addr == NULL) {