]> git.ipfire.org Git - thirdparty/nftables.git/commit
evaluate: Add set to cache only when well-formed
authorAnatole Denis <anatole@rezel.net>
Mon, 28 Nov 2016 16:43:08 +0000 (17:43 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 29 Nov 2016 21:46:56 +0000 (22:46 +0100)
commitb8404c4ba78344abe9fda92c95e69adea9131ff4
treeb74c94350a143d573322690e22c9dbd4980f7a69
parent1419b0003fccca32bf61ed40265a5539e2465497
evaluate: Add set to cache only when well-formed

When creating a set (in set_evaluate), it is added to the table cache before
being checked for correctness. When the set is ill-formed, the function returns
without removing the (non-existent, since the function returned) set. Further
references to this set will not result in an error (since the set is in the
lookup table), but the malformed set will probably cause a segfault.

The symptom (the segfault) was fixed by checking for NULL when evaluating a
reference to the set (commit 5afa5a164ff1c066af1ec56d875b91562882bd50), this
should fix the root cause.

Signed-off-by: Anatole Denis <anatole@rezel.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c