aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2025-01-11 04:57:55 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2025-01-11 04:57:55 +0000
commitbbe6559cf958a9016cb18ff1833ebd3a884f349f (patch)
treefe99f37c7adece0b1e26483423e874ab107de3bf
parent8a8d095718cb4e3ce84bef1cd61c20b518b8d047 (diff)
netlink: fix size comparison
We want to check the size of the header, not a pointer to it. Reviewed by: melifaro, markj Differential Revision: https://reviews.freebsd.org/D48309
-rw-r--r--sys/netlink/netlink_generic.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c
index 623531492173..b78ab80ab3c2 100644
--- a/sys/netlink/netlink_generic.c
+++ b/sys/netlink/netlink_generic.c
@@ -67,7 +67,8 @@ genl_handle_message(struct nlmsghdr *hdr, struct nl_pstate *npt)
return (ENOTSUP);
}
- if (__predict_false(hdr->nlmsg_len < sizeof(hdr) + GENL_HDRLEN)) {
+ if (__predict_false(hdr->nlmsg_len < sizeof(struct nlmsghdr) +
+ GENL_HDRLEN)) {
NLP_LOG(LOG_DEBUG, nlp, "invalid message size: %d", hdr->nlmsg_len);
return (EINVAL);
}