summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-12-05 23:00:45 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2016-12-05 23:01:53 +0100
commit640ce74a09e8695a743f9e02e2ef3d1bfcbb18ff (patch)
tree24c748f664c4ab2704d2f25c6d952e2bf257561b
parent75d41c37e0956b3a4d0ae25756fc8fa5ecba16c3 (diff)
set_elem: nftnl_set_elems_nlmsg_build_payload_iter()
Similar to a24e4b21ee33 ("set_elem: don't add NFTA_SET_ELEM_LIST_ELEMENTS attribute if set is empty"). This is required by the set flush support. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/set_elem.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/set_elem.c b/src/set_elem.c
index 4d2b4f6..083c597 100644
--- a/src/set_elem.c
+++ b/src/set_elem.c
@@ -813,6 +813,10 @@ int nftnl_set_elems_nlmsg_build_payload_iter(struct nlmsghdr *nlh,
nftnl_set_elem_nlmsg_build_def(nlh, iter->set);
+ /* This set is empty, don't add an empty list element nest. */
+ if (list_empty(&iter->set->element_list))
+ return ret;
+
nest1 = mnl_attr_nest_start(nlh, NFTA_SET_ELEM_LIST_ELEMENTS);
elem = nftnl_set_elems_iter_next(iter);
while (elem != NULL) {