aboutsummaryrefslogtreecommitdiff
path: root/sys/netlink
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2025-02-28 23:39:15 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2025-02-28 23:39:15 +0000
commita80bbc4e9597530b91735ebf366a2a62dc27a8d8 (patch)
tree8d5128894b1a747bca035ebaeca71b37290d18b7 /sys/netlink
parent457d745d90a6b63793c9ca17bcd7ec5ff4cd8b93 (diff)
Diffstat (limited to 'sys/netlink')
-rw-r--r--sys/netlink/netlink_domain.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c
index a7ceae687d86..74b46114716e 100644
--- a/sys/netlink/netlink_domain.c
+++ b/sys/netlink/netlink_domain.c
@@ -568,6 +568,9 @@ nl_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio,
if (__predict_false(uio->uio_resid < sizeof(struct nlmsghdr)))
return (ENOBUFS); /* XXXGL: any better error? */
+ if (__predict_false(uio->uio_resid > sb->sb_hiwat))
+ return (EMSGSIZE);
+
error = SOCK_IO_SEND_LOCK(so, SBLOCKWAIT(flags));
if (error)
return (error);