aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2024-12-03 20:04:22 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2024-12-03 20:04:22 +0000
commit0601c0f989f21a935d49818d67e732766ddc3f77 (patch)
treef9a09924feea70eed42f24ef5d9909b21c21b247
parenta034c0aeccd899a5872333625771df278e0a8ba7 (diff)
netlink: check buffer length fits into u_int
We may increase it to size_t later, KPI allows that already, but doesn't seem to be needed today. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47550
-rw-r--r--sys/netlink/netlink_io.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c
index bc8d2f9fcc3f..d2022a6a2b0d 100644
--- a/sys/netlink/netlink_io.c
+++ b/sys/netlink/netlink_io.c
@@ -58,6 +58,9 @@ nl_buf_alloc(size_t len, int mflag)
{
struct nl_buf *nb;
+ KASSERT(len > 0 && len <= UINT_MAX, ("%s: invalid length %zu",
+ __func__, len));
+
nb = malloc(sizeof(struct nl_buf) + len, M_NETLINK, mflag);
if (__predict_true(nb != NULL)) {
nb->buflen = len;