summaryrefslogtreecommitdiffstats
path: root/src/set_elem.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-10-04 08:48:37 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-10-17 17:51:55 +0200
commita24e4b21ee33d8307e25ce609c7333ef0ca5811c (patch)
tree85ee4c1f4885591e46f941fb641b32a8d3707e4b /src/set_elem.c
parent200da4866ada06b2ee0f708c93dbdf9dcd0fcfe4 (diff)
set_elem: don't add NFTA_SET_ELEM_LIST_ELEMENTS attribute if set is empty
If the set is empty, don't send an empty NFTA_SET_ELEM_LIST_ELEMENTS netlink attributes with no elements. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/set_elem.c')
-rw-r--r--src/set_elem.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/set_elem.c b/src/set_elem.c
index 46fb7c6..4d2b4f6 100644
--- a/src/set_elem.c
+++ b/src/set_elem.c
@@ -304,6 +304,9 @@ void nftnl_set_elems_nlmsg_build_payload(struct nlmsghdr *nlh, struct nftnl_set
nftnl_set_elem_nlmsg_build_def(nlh, s);
+ if (list_empty(&s->element_list))
+ return;
+
nest1 = mnl_attr_nest_start(nlh, NFTA_SET_ELEM_LIST_ELEMENTS);
list_for_each_entry(elem, &s->element_list, head)
nftnl_set_elem_build(nlh, elem, ++i);