nft: break loop after found matching chain
This patch breaks looping in nft_chain_user_del, nft_chain_zero_counters
and nft_rule_flush after the chain is found.
Signed-off-by: Giuseppe Longo <giuseppelng@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
diff --git a/iptables/nft.c b/iptables/nft.c
index 3aac420..8be960f 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -1271,6 +1271,8 @@
__nft_rule_flush(h, table_name, chain_name);
+ if (chain != NULL)
+ break;
next:
c = nft_chain_list_iter_next(iter);
}
@@ -1381,6 +1383,9 @@
break;
deleted_ctr++;
+
+ if (chain != NULL)
+ break;
next:
c = nft_chain_list_iter_next(iter);
}
@@ -2841,6 +2846,8 @@
if (ret < 0)
perror("mnl_talk:nft_chain_zero_counters");
+ if (chain != NULL)
+ break;
next:
c = nft_chain_list_iter_next(iter);
}