diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-07-07 15:11:35 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-07-07 15:26:17 +0200 |
commit | 46980cddddfd77f2700fcb8234641711b985cd04 (patch) | |
tree | 1172ad84436982d4eefc55e6a8f12f6b10d137b5 /src | |
parent | 8a6cdfaff058412b3d0efec45541cd7d610aeefa (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')
-rw-r--r-- | src/rule.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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); } } |