]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
mnl: incomplete extended error reporting for singleton device in chain
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 25 Apr 2023 10:37:15 +0000 (12:37 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 25 Apr 2023 14:53:44 +0000 (16:53 +0200)
Fix error reporting when single device is specifies in chain:

 # nft add chain netdev filter ingress '{ devices = { x }; }'
 add chain netdev filter ingress { devices = { x }; }
                                               ^

Fixes: a66b5ad9540d ("src: allow for updating devices on existing netdev chain")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/mnl.c

index 5dcfd9a04c4bf38478c23c947de91adad989dd81..adc0bd3d61cfca9c683aaebf89a2f60485abc4d5 100644 (file)
--- a/src/mnl.c
+++ b/src/mnl.c
@@ -790,6 +790,7 @@ static void mnl_nft_chain_devs_build(struct nlmsghdr *nlh, struct cmd *cmd)
 
        dev_array = nft_dev_array(dev_expr, &num_devs);
        if (num_devs == 1) {
+               cmd_add_loc(cmd, nlh->nlmsg_len, dev_array[0].location);
                mnl_attr_put_strz(nlh, NFTA_HOOK_DEV, dev_array[0].ifname);
        } else {
                nest_dev = mnl_attr_nest_start(nlh, NFTA_HOOK_DEVS);