version 1.52, 2017/07/13 01:22:44 |
version 1.53, 2017/07/13 01:48:52 |
Line 712 ipsec6_process_packet( |
|
Line 712 ipsec6_process_packet( |
|
struct mbuf *mp; |
struct mbuf *mp; |
|
|
/* Fix IPv6 header payload length. */ |
/* Fix IPv6 header payload length. */ |
if (m->m_len < sizeof(struct ip6_hdr)) |
if (m->m_len < sizeof(struct ip6_hdr)) { |
if ((m = m_pullup(m,sizeof(struct ip6_hdr))) == NULL) |
if ((m = m_pullup(m,sizeof(struct ip6_hdr))) == NULL) { |
return ENOBUFS; |
error = ENOBUFS; |
|
goto bad; |
|
} |
|
} |
|
|
if (m->m_pkthdr.len - sizeof(*ip6) > IPV6_MAXPACKET) { |
if (m->m_pkthdr.len - sizeof(*ip6) > IPV6_MAXPACKET) { |
/* No jumbogram support. */ |
/* No jumbogram support. */ |
m_freem(m); |
error = ENXIO; /*XXX*/ |
return ENXIO; /*XXX*/ |
goto bad; |
} |
} |
|
|
ip6 = mtod(m, struct ip6_hdr *); |
ip6 = mtod(m, struct ip6_hdr *); |