summaryrefslogtreecommitdiffstats
path: root/sys/net/if_ethersubr.c
diff options
context:
space:
mode:
authorluigi <luigi@FreeBSD.org>2002-04-04 05:42:09 +0000
committerluigi <luigi@FreeBSD.org>2002-04-04 05:42:09 +0000
commit55510cb673dc4635f4bc6393c11f3d63f6d00ed6 (patch)
tree5169d68ccee6707c197fe9453bd1ece3b92a55b2 /sys/net/if_ethersubr.c
parent1802268e809bb1895682a238b5d7c63858a55166 (diff)
downloadFreeBSD-src-55510cb673dc4635f4bc6393c11f3d63f6d00ed6.zip
FreeBSD-src-55510cb673dc4635f4bc6393c11f3d63f6d00ed6.tar.gz
Fix a couple of incorrect m_free() vs. m_freem() usages and related issues.
Reviewed-by: brooks
Diffstat (limited to 'sys/net/if_ethersubr.c')
-rw-r--r--sys/net/if_ethersubr.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c
index c6e69ed..cc8ee89 100644
--- a/sys/net/if_ethersubr.c
+++ b/sys/net/if_ethersubr.c
@@ -585,7 +585,14 @@ ether_demux(ifp, eh, m)
return;
#endif /* NETATALK */
case ETHERTYPE_VLAN:
- VLAN_INPUT(eh, m);
+ /* XXX lock ? */
+ if (vlan_input_p != NULL)
+ (*vlan_input_p)(eh, m);
+ else {
+ m->m_pkthdr.rcvif->if_noproto++;
+ m_freem(m);
+ }
+ /* XXX unlock ? */
return;
default:
#ifdef IPX
OpenPOWER on IntegriCloud