Page MenuHomeFreeBSD

D19969.id56388.diff
No OneTemporary

D19969.id56388.diff

Index: sys/netinet6/raw_ip6.c
===================================================================
--- sys/netinet6/raw_ip6.c
+++ sys/netinet6/raw_ip6.c
@@ -166,6 +166,7 @@
struct mbuf *opts = NULL;
struct sockaddr_in6 fromsa;
struct epoch_tracker et;
+ int drop = 0;
RIP6STAT_INC(rip6s_ipackets);
@@ -242,6 +243,7 @@
if (in6_cksum(m, proto, *offp,
m->m_pkthdr.len - *offp)) {
RIP6STAT_INC(rip6s_badsum);
+ drop = 1;
goto skip_2;
}
}
@@ -328,7 +330,7 @@
RIP6STAT_INC(rip6s_nosock);
if (m->m_flags & M_MCAST)
RIP6STAT_INC(rip6s_nosockmcast);
- if (proto == IPPROTO_NONE)
+ if (proto == IPPROTO_NONE || drop == 1)
m_freem(m);
else
icmp6_error(m, ICMP6_PARAM_PROB,

File Metadata

Mime Type
text/plain
Expires
Mon, May 18, 12:20 PM (3 h, 12 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33248013
Default Alt Text
D19969.id56388.diff (728 B)

Event Timeline