Date: Mon, 27 Dec 2004 12:24:49 WET From: Johnny Eriksson <bygg@cafax.se> To: freebsd-stable@freebsd.org Subject: mbuf leak in bpf.c Message-ID: <CMM.0.91.0.1104146689.bygg@nic.cafax.se>
next in thread | raw e-mail | index | archive | help
If one tries to write a datagram to a bpf device, and the datagram is
longer than the MTU on the physical interface, the write fails as it
should, but an mbuf is allocated and thrown away. Proposed solution:
--- bpf.c.orig Mon Dec 27 10:43:06 2004
+++ bpf.c Mon Dec 27 10:44:16 2004
@@ -633,8 +633,10 @@
if (error)
return (error);
- if (datlen > ifp->if_mtu)
+ if (datlen > ifp->if_mtu) {
+ m_freem(m);
return (EMSGSIZE);
+ }
if (d->bd_hdrcmplt)
dst.sa_family = pseudo_AF_HDRCMPLT;
--Johnny
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CMM.0.91.0.1104146689.bygg>
