summaryrefslogtreecommitdiffstats
path: root/sys/netpfil
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2014-09-09 10:29:27 +0000
committerglebius <glebius@FreeBSD.org>2014-09-09 10:29:27 +0000
commit39bf2b650932364d54f4ae2c2eb7200766d81816 (patch)
tree3165630d2a039d6e1da5b8a80f15b18ada9a7da9 /sys/netpfil
parente55bc1f0d75eb16747c8ed900a2b4bf9a08a0f6f (diff)
downloadFreeBSD-src-39bf2b650932364d54f4ae2c2eb7200766d81816.zip
FreeBSD-src-39bf2b650932364d54f4ae2c2eb7200766d81816.tar.gz
Merge r270928: explicitly free packet on PF_DROP, otherwise a "quick"
rule with "route-to" may still forward it. PR: 177808 Approved by: re (gjb)
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/pf/pf.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 5ae383d..f7f16da 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -6003,6 +6003,10 @@ done:
*m0 = NULL;
action = PF_PASS;
break;
+ case PF_DROP:
+ m_freem(*m0);
+ *m0 = NULL;
+ break;
default:
/* pf_route() returns unlocked. */
if (r->rt) {
@@ -6379,6 +6383,10 @@ done:
*m0 = NULL;
action = PF_PASS;
break;
+ case PF_DROP:
+ m_freem(*m0);
+ *m0 = NULL;
+ break;
default:
/* pf_route6() returns unlocked. */
if (r->rt) {
OpenPOWER on IntegriCloud