If passed a rulenum > 0, the function uses nftnl_rule_lookup_byindex()
and returns early. Negative rulenum values are not supposed to happen,
so the remaining code which iterates over the full list of rules does
not need to respect rulenum anymore.
Fixes: 039b048965210 ("nft: Make use of nftnl_rule_lookup_byindex()")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Florian Westphal <fw@strlen.de>
r = nftnl_rule_iter_next(iter);
while (r != NULL) {
- rule_ctr++;
-
- if (rulenum > 0 && rule_ctr != rulenum) {
- /* List by rule number case */
- goto next;
- }
-
- cb(r, rule_ctr, format);
- if (rulenum > 0)
- break;
-
-next:
+ cb(r, ++rule_ctr, format);
r = nftnl_rule_iter_next(iter);
}