summaryrefslogtreecommitdiffstats
path: root/src/rule.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2022-07-07 15:11:35 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2022-07-07 15:26:17 +0200
commit46980cddddfd77f2700fcb8234641711b985cd04 (patch)
tree1172ad84436982d4eefc55e6a8f12f6b10d137b5 /src/rule.c
parent8a6cdfaff058412b3d0efec45541cd7d610aeefa (diff)
rule: crash when uncollapsing command with unexisting table or set
If ruleset update refers to an unexisting table or set, then cmd->elem.set is NULL. Fixes: 498a5f0c219d ("rule: collapse set element commands") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r--src/rule.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rule.c b/src/rule.c
index 79d4b777..9c9eaec0 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -1453,7 +1453,9 @@ void nft_cmd_uncollapse(struct list_head *cmds)
}
list_for_each_entry_safe(collapse_cmd, collapse_cmd_next, &cmd->collapse_list, list) {
- collapse_cmd->elem.set = set_get(cmd->elem.set);
+ if (cmd->elem.set)
+ collapse_cmd->elem.set = set_get(cmd->elem.set);
+
list_add(&collapse_cmd->list, &cmd->list);
}
}