diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2020-04-29 12:10:07 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2020-04-29 12:31:04 +0200 |
commit | 12467ee9379ee16cf0e9a943ded8054710097134 (patch) | |
tree | 400bbc11fada5ae53f465a88016b97adec22a35a /src | |
parent | 6a8668b1fded4fbc908a35ee2b49a2d0b70a1a24 (diff) |
evaluate: incorrect byteorder with typeof and integer_datatype
table bridge t {
set s3 {
typeof meta ibrpvid
elements = { 2, 3, 103 }
}
}
# nft --debug=netlink -f test.nft
s3 t 0
s3 t 0
element 00000100 : 0 [end] element 00000200 : 0 [end] element 00000300 : 0 [end]
^^^^^^^^
The integer_type uses BYTEORDER_INVALID byteorder (which is implicitly
handled as BYTEORDER_BIG_ENDIAN).
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/evaluate.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index 8c227eb1..59714131 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -3544,7 +3544,8 @@ static int set_evaluate(struct eval_ctx *ctx, struct set *set) ctx->set = set; if (set->init != NULL) { - expr_set_context(&ctx->ectx, set->key->dtype, set->key->len); + __expr_set_context(&ctx->ectx, set->key->dtype, + set->key->byteorder, set->key->len, 0); if (expr_evaluate(ctx, &set->init) < 0) return -1; } |