X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-netlink%2Fnetlink-message.c;h=bfbc0e6c95d63afc1cf20d582ae3db344e232a80;hb=53cb490ec6c1ebe1e19d28fdf504d0d6d57e9425;hp=e39e4c646c5cded12b41078afb6453a61704a92b;hpb=724ccdb94309bde65b4e067f7d61f0170e0bbdb2;p=elogind.git diff --git a/src/libsystemd/sd-netlink/netlink-message.c b/src/libsystemd/sd-netlink/netlink-message.c index e39e4c646..bfbc0e6c9 100644 --- a/src/libsystemd/sd-netlink/netlink-message.c +++ b/src/libsystemd/sd-netlink/netlink-message.c @@ -72,9 +72,6 @@ int message_new(sd_netlink *rtnl, sd_netlink_message **ret, uint16_t type) { if (r < 0) return r; - if (type_get_type(nl_type) != NETLINK_TYPE_NESTED) - return -EINVAL; - r = message_new_empty(rtnl, &m); if (r < 0) return r; @@ -88,7 +85,8 @@ int message_new(sd_netlink *rtnl, sd_netlink_message **ret, uint16_t type) { m->hdr->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK; - type_get_type_system(nl_type, &m->container_type_system[0]); + if (type_get_type(nl_type) == NETLINK_TYPE_NESTED) + type_get_type_system(nl_type, &m->container_type_system[0]); m->hdr->nlmsg_len = size; m->hdr->nlmsg_type = type;