Unconditionally restore the pointer to the saved Ethernet header after

going to bridge.c:bdg_forward(). The header can be munged even if the
mbuf does not /appear/ to change.

PR:		kern/42465
MFC after:	4 days
This commit is contained in:
Crist J. Clark 2002-10-14 05:27:00 +00:00
parent a5b65058d5
commit 232a880278

View File

@ -613,8 +613,6 @@ ether_input(struct ifnet *ifp, struct ether_header *eh, struct mbuf *m)
return;
}
if (bif != BDG_LOCAL) {
struct mbuf *oldm = m ;
save_eh = *eh ; /* because it might change */
m = bdg_forward_ptr(m, eh, bif); /* needs forwarding */
/*
@ -627,8 +625,7 @@ ether_input(struct ifnet *ifp, struct ether_header *eh, struct mbuf *m)
printf("bdg_forward drop MULTICAST PKT\n");
return;
}
if (m != oldm) /* m changed! */
eh = &save_eh ;
eh = &save_eh ;
}
if (bif == BDG_LOCAL
|| bif == BDG_BCAST