The branch main has been updated by emaste:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=1a4ad649cb135501f0bee56a4214e8c904ca402e

commit 1a4ad649cb135501f0bee56a4214e8c904ca402e
Author:     Ed Maste <[email protected]>
AuthorDate: 2026-05-22 00:50:00 +0000
Commit:     Ed Maste <[email protected]>
CommitDate: 2026-05-22 14:21:11 +0000

    netlink: Avoid undefined behaviour
    
    Even though it is not dereferenced, it is UB to take the address of an
    out of bounds array element.
    
    Reviewed by: pouria, bz, des, adrian
    Sponsored by: The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D57158
---
 sys/netlink/netlink_generic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c
index fb74860e42b3..c2f82eed5656 100644
--- a/sys/netlink/netlink_generic.c
+++ b/sys/netlink/netlink_generic.c
@@ -127,13 +127,13 @@ genl_handle_message(struct nlmsghdr *hdr, struct 
nl_pstate *npt)
        }
 
        family_id = hdr->nlmsg_type - GENL_MIN_ID;
-       gf = &families[family_id];
        if (__predict_false(family_id >= MAX_FAMILIES ||
-           gf->family_name == NULL)) {
+           families[family_id].family_name == NULL)) {
                NLP_LOG(LOG_DEBUG, nlp, "invalid message type: %d",
                    hdr->nlmsg_type);
                return (ENOTSUP);
        }
+       gf = &families[family_id];
 
        struct genlmsghdr *ghdr = (struct genlmsghdr *)(hdr + 1);
 

Reply via email to