diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index ede791a7d17..6ef79d2fd86 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -862,11 +862,9 @@ udp6_send(struct socket *so, int flags_arg, struct mbuf *m, ulen = m->m_pkthdr.len; plen = sizeof(struct udphdr) + ulen; hlen = sizeof(struct ip6_hdr); - if (plen > IPV6_MAXPAYLOAD) { - m_freem(control); - m_freem(m); - return (EMSGSIZE); + error = EMSGSIZE; + goto release; } /*