aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2025-01-16 02:50:29 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2025-01-16 07:21:58 +0000
commitc3df2fa9a7554e00f34f1cbcf8be6c8ccf9ccd8a (patch)
treeda601a7492d59b4f7841ed32c5f9eb619c1844dd
parentc1f6b799a7647a738f2e0dfa688c54ada83abc59 (diff)
netlink: snl_create_msg_request() may fail due to ENOMEM
-rw-r--r--sys/netlink/netlink_snl.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h
index 2861ea93bafb..d10852ac7a36 100644
--- a/sys/netlink/netlink_snl.h
+++ b/sys/netlink/netlink_snl.h
@@ -1261,9 +1261,13 @@ snl_end_attr_nested(const struct snl_writer *nw, int off)
static inline struct nlmsghdr *
snl_create_msg_request(struct snl_writer *nw, int nlmsg_type)
{
+ struct nlmsghdr *hdr;
+
assert(nw->hdr == NULL);
- struct nlmsghdr *hdr = snl_reserve_msg_object(nw, struct nlmsghdr);
+ if (__predict_false((hdr =
+ snl_reserve_msg_object(nw, struct nlmsghdr)) == NULL))
+ return (NULL);
hdr->nlmsg_type = nlmsg_type;
hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;
nw->hdr = hdr;