When listing a table in interactive mode, the set list is not cleaned up. Thus the number of displayed sets grows with each successive listing. Attached patch adds the necessary list cleanup to do_command_list. Reported-by: Bjørnar Ness <bjornar.ness@xxxxxxxxx> Signed-off-by: Phil Oester <kernel@xxxxxxxxxxxx>
diff --git a/src/rule.c b/src/rule.c index 39a66d7..ec8b6a4 100644 --- a/src/rule.c +++ b/src/rule.c @@ -665,6 +665,11 @@ static int do_command_list(struct netlink_ctx *ctx, struct cmd *cmd) chain_free(chain); } + list_for_each_entry_safe(set, nset, &table->sets, list) { + list_del(&set->list); + set_free(set); + } + return 0; }