aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2026-06-05 21:48:35 +0000
committerMark Johnston <markj@FreeBSD.org>2026-06-05 21:49:11 +0000
commit520e0f576f710eb60fb901b87b4eb0e1530362ae (patch)
treeac2626bd0b9ee970cfc5bd711f6bb48442498bc3
parentc2631d1623f45df4379c7373f1c639c575679785 (diff)
udp: Fix resource leaks in an error path in udp6_send()
Reported by: Andrew Griffiths <andrew@calif.io> Fixes: 069a67374ed9 ("ip6: Remove support for RFC2675 (Jumbo Payload Option)") Reviewed by: pouria, tuexen, glebius Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57341
-rw-r--r--sys/netinet6/udp6_usrreq.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
index ede791a7d175..6ef79d2fd868 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;
}
/*