]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
evaluate: fix crash when handling concatenation without map
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 27 Apr 2020 16:38:01 +0000 (18:38 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 28 Apr 2020 15:32:35 +0000 (17:32 +0200)
Fix a crash when map is not specified, e.g.

 nft add rule x y snat ip addr . port to 1.1.1.1 . 22

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

index cad65cfb73431289778c0707a5755469ce1aa66a..8c227eb11402e3d008733ee88d48f5c52a990cf3 100644 (file)
@@ -2924,6 +2924,9 @@ static int stmt_evaluate_nat_map(struct eval_ctx *ctx, struct stmt *stmt)
        if (expr_evaluate(ctx, &stmt->nat.addr))
                return -1;
 
+       if (stmt->nat.addr->etype != EXPR_MAP)
+               return 0;
+
        data = stmt->nat.addr->mappings->set->data;
        datatype_set(data, dtype);