]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: Better error reporting for bad set references
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 19 Jun 2017 11:59:33 +0000 (13:59 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 19 Jun 2017 17:04:49 +0000 (19:04 +0200)
In case you refer to an unexisting set, bail out with:

 # nft add table x
 # nft add chain x y
 # nft add rule x y ip protocol vmap @reject_to_rule2;
 <cmdline>:1:31-46: Error: Set 'reject_to_rule2' does not exist
 add rule x y ip protocol vmap @reject_to_rule2
                               ^^^^^^^^^^^^^^^^

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/evaluate.c

index ec898033c9847f02fbae00d07a0ce3d30f8b783b..ca8b63b74fdcc08341c3346c87058cda39a56a32 100644 (file)
@@ -192,8 +192,9 @@ static int expr_evaluate_symbol(struct eval_ctx *ctx, struct expr **expr)
 
                set = set_lookup(table, (*expr)->identifier);
                if (set == NULL)
-                       return cmd_error(ctx, "Could not process rule: Set '%s' does not exist",
-                                        (*expr)->identifier);
+                       return expr_error(ctx->msgs, *expr,
+                                         "Set '%s' does not exist",
+                                         (*expr)->identifier);
                new = set_ref_expr_alloc(&(*expr)->location, set);
                break;
        }