]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: Evaluate table name before reset stateful objects in a table
authorElise Lennion <elise.lennion@gmail.com>
Thu, 26 Jan 2017 17:14:30 +0000 (15:14 -0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Fri, 27 Jan 2017 12:33:20 +0000 (13:33 +0100)
Reseting stateful objects in a single table is already implemented and
cmd_evaluate_reset() now tests for the table name.

Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c

index dab7cfca0dd980435c88196727b8eb38436b4663..ed41bd8a38b21eaedf5694a653b9cc3e02f8c0d2 100644 (file)
@@ -2974,13 +2974,14 @@ static int cmd_evaluate_reset(struct eval_ctx *ctx, struct cmd *cmd)
        switch (cmd->obj) {
        case CMD_OBJ_COUNTER:
        case CMD_OBJ_QUOTA:
+       case CMD_OBJ_COUNTERS:
+       case CMD_OBJ_QUOTAS:
+               if (cmd->handle.table == NULL)
+                       return 0;
                if (table_lookup(&cmd->handle) == NULL)
                        return cmd_error(ctx, "Could not process rule: Table '%s' does not exist",
                                         cmd->handle.table);
                return 0;
-       case CMD_OBJ_COUNTERS:
-       case CMD_OBJ_QUOTAS:
-               return 0;
        default:
                BUG("invalid command object type %u\n", cmd->obj);
        }