diff options
author | luigi <luigi@FreeBSD.org> | 2002-04-04 05:42:09 +0000 |
---|---|---|
committer | luigi <luigi@FreeBSD.org> | 2002-04-04 05:42:09 +0000 |
commit | 55510cb673dc4635f4bc6393c11f3d63f6d00ed6 (patch) | |
tree | 5169d68ccee6707c197fe9453bd1ece3b92a55b2 /sys/net/if_ethersubr.c | |
parent | 1802268e809bb1895682a238b5d7c63858a55166 (diff) | |
download | FreeBSD-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.c | 9 |
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 |