From 888d9236e2249cb1bda686aca8729fdcc69a10ac Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Fri, 5 Jun 2026 15:16:53 -0400 Subject: [PATCH] netlink: Use unsigned type in nl_process_nbuf nlmsghdr::nlmsg_len and nl_buf::offset are u_int. Make msglen match. Reviewed by: pouria, glebius Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57474 --- sys/netlink/netlink_io.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index 9646eb2650d..51c87d22971 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -345,9 +345,11 @@ nl_process_nbuf(struct nl_buf *nb, struct nlpcb *nlp) }; for (; nb->offset + sizeof(struct nlmsghdr) <= nb->datalen;) { + u_int msglen; + hdr = (struct nlmsghdr *)&nb->data[nb->offset]; /* Save length prior to calling handler */ - int msglen = NLMSG_ALIGN(hdr->nlmsg_len); + msglen = NLMSG_ALIGN(hdr->nlmsg_len); NL_LOG(LOG_DEBUG3, "parsing offset %d/%d", nb->offset, nb->datalen); npt_clear(&npt);