diff options
author | Gleb Smirnoff <glebius@FreeBSD.org> | 2025-01-16 02:50:29 +0000 |
---|---|---|
committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2025-01-16 07:21:58 +0000 |
commit | c3df2fa9a7554e00f34f1cbcf8be6c8ccf9ccd8a (patch) | |
tree | da601a7492d59b4f7841ed32c5f9eb619c1844dd | |
parent | c1f6b799a7647a738f2e0dfa688c54ada83abc59 (diff) |
netlink: snl_create_msg_request() may fail due to ENOMEM
-rw-r--r-- | sys/netlink/netlink_snl.h | 6 |
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; |