From: Pablo Neira Ayuso Date: Mon, 5 Dec 2016 22:00:45 +0000 (+0100) Subject: set_elem: nftnl_set_elems_nlmsg_build_payload_iter() X-Git-Tag: libnftnl-1.0.7~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=640ce74a09e8695a743f9e02e2ef3d1bfcbb18ff;p=thirdparty%2Flibnftnl.git 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 --- diff --git a/src/set_elem.c b/src/set_elem.c index 4d2b4f60..083c597e 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) {