git: 4d125ed6e7d4 - main - netlink: Avoid potential undefined behaviour
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 23 May 2026 23:10:38 UTC
The branch main has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=4d125ed6e7d445d574c11dc35c40ec3013559806
commit 4d125ed6e7d445d574c11dc35c40ec3013559806
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-05-22 14:55:49 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-05-23 20:59:52 +0000
netlink: Avoid potential undefined behaviour
Taking the address of an OOB array element is UB, even if not
dereferenced.
Reviewed by: des, bz
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57172
---
sys/netlink/netlink_generic.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c
index c2f82eed5656..50c12175e14e 100644
--- a/sys/netlink/netlink_generic.c
+++ b/sys/netlink/netlink_generic.c
@@ -93,12 +93,10 @@ static struct genl_group {
static inline struct genl_family *
genl_family(uint16_t family_id)
{
- struct genl_family *gf;
-
- gf = &families[family_id - GENL_MIN_ID];
KASSERT(family_id - GENL_MIN_ID < MAX_FAMILIES &&
- gf->family_name != NULL, ("family %u does not exist", family_id));
- return (gf);
+ families[family_id - GENL_MIN_ID].family_name != NULL,
+ ("family %u does not exist", family_id));
+ return (&families[family_id - GENL_MIN_ID]);
}
static inline uint16_t