Nftables segfaults if a symbol is added in top_scope, because of a missing init_list_head. Trivial example: define ip_set = {192.168.1.2, 192.168.2.3} add rule filter output ip daddr $ip_set counter This closes netfilter bugzilla #877. Reported-by: Anandraj M <anandrm@xxxxxxxxx> Signed-off-by: Phil Oester <kernel@xxxxxxxxxxxx>
diff --git a/src/parser.y b/src/parser.y index a49e5c2..c6f8c9d 100644 --- a/src/parser.y +++ b/src/parser.y @@ -32,6 +32,7 @@ void parser_init(struct parser_state *state, struct list_head *msgs) { memset(state, 0, sizeof(*state)); init_list_head(&state->cmds); + init_list_head(&state->top_scope.symbols); state->msgs = msgs; state->scopes[0] = scope_init(&state->top_scope, NULL); }