diff options
author | darrenr <darrenr@FreeBSD.org> | 1997-02-19 14:02:27 +0000 |
---|---|---|
committer | darrenr <darrenr@FreeBSD.org> | 1997-02-19 14:02:27 +0000 |
commit | 9b267ed0138212856ee01f9311d3fd02f0f6e270 (patch) | |
tree | 5624565042cd0f02bf972bedba1469f82a794a30 /sys/netinet/ip_input.c | |
parent | 712f3a716aa919c0b2807c55415b3e8cf231c769 (diff) | |
download | FreeBSD-src-9b267ed0138212856ee01f9311d3fd02f0f6e270.zip FreeBSD-src-9b267ed0138212856ee01f9311d3fd02f0f6e270.tar.gz |
change IP Filter hooks to match new 3.1.8 patches for FreeBSD
Diffstat (limited to 'sys/netinet/ip_input.c')
-rw-r--r-- | sys/netinet/ip_input.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index 1fc5299..6a38e40 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -348,16 +348,17 @@ tooshort: #endif #if defined(IPFILTER) || defined(IPFILTER_LKM) - { - struct mbuf *m0 = m; /* * Check if we want to allow this packet to be processed. * Consider it to be bad if not. */ - if (fr_checkp && (*fr_checkp)(ip, hlen, m->m_pkthdr.rcvif, 0, &m0)) - goto next; - ip = mtod(m = m0, struct ip *); - } + if (fr_check) { + struct mbuf *m1 = m; + + if ((*fr_checkp)(ip, hlen, m->m_pkthdr.rcvif, 0, &m1) || !m1) + goto next; + ip = mtod(m = m1, struct ip *); + } #endif /* |