]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: bogus error when refering to existing non-base chain
authorPablo Neira Ayuso <pablo@netfilter.org>
Tue, 16 Jul 2019 17:49:42 +0000 (19:49 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Thu, 18 Jul 2019 18:06:29 +0000 (20:06 +0200)
 add rule ip testNEW test6 jump test8
                                ^^^^^
 Error: invalid verdict chain expression value

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

index 55cd9d00d274c59f94bebc4af237da29f9db3407..69b853f58722a82f3a44f468d64e67fcfd420bbf 100644 (file)
@@ -1988,12 +1988,9 @@ static int stmt_evaluate_verdict(struct eval_ctx *ctx, struct stmt *stmt)
                if (stmt->expr->chain != NULL) {
                        if (expr_evaluate(ctx, &stmt->expr->chain) < 0)
                                return -1;
-                       if ((stmt->expr->chain->etype != EXPR_SYMBOL &&
-                           stmt->expr->chain->etype != EXPR_VALUE) ||
-                           stmt->expr->chain->symtype != SYMBOL_VALUE) {
-                               return stmt_error(ctx, stmt,
-                                                 "invalid verdict chain expression %s\n",
-                                                 expr_name(stmt->expr->chain));
+                       if (stmt->expr->chain->etype != EXPR_VALUE) {
+                               return expr_error(ctx->msgs, stmt->expr->chain,
+                                                 "not a value expression");
                        }
                }
                break;