summaryrefslogtreecommitdiffstats
path: root/sys/net/bridge.c
diff options
context:
space:
mode:
authorbmilekic <bmilekic@FreeBSD.org>2000-09-24 04:08:38 +0000
committerbmilekic <bmilekic@FreeBSD.org>2000-09-24 04:08:38 +0000
commit894e597ec76c598cf5c62a1fe6e4d6fcf83e9357 (patch)
tree6583e1176a90687dca8a79db5fc659dfc07d54e3 /sys/net/bridge.c
parent314abdc18465b579175462bc8a5536902d974472 (diff)
downloadFreeBSD-src-894e597ec76c598cf5c62a1fe6e4d6fcf83e9357.zip
FreeBSD-src-894e597ec76c598cf5c62a1fe6e4d6fcf83e9357.tar.gz
Get rid of a panic that occurs in ether_demux() by dereferencing a NULL mbuf
pointer, when bridging and bridge_ipfw are enabled, and when bdg_forward() happens to free the packet and make our pointer NULL. There may be more similar problems like this one with calls to bdg_forward(). PR: Related to kern/19551 Reviewed by: jlemon
Diffstat (limited to 'sys/net/bridge.c')
-rw-r--r--sys/net/bridge.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/net/bridge.c b/sys/net/bridge.c
index 7827a0c..106ddac 100644
--- a/sys/net/bridge.c
+++ b/sys/net/bridge.c
@@ -772,6 +772,9 @@ bdg_forward(struct mbuf **m0, struct ether_header *const eh, struct ifnet *dst)
m_freem(m);
if (canfree == 0) /* m was a copy */
m_freem(*m0);
+#ifdef DIAGNOSTIC
+ printf("bdg_forward: No rules match, so dropping packet!\n");
+#endif
*m0 = NULL ;
return 0 ;
}
OpenPOWER on IntegriCloud