diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2025-02-28 15:57:18 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2025-03-07 13:56:47 +0100 |
commit | de447e248cce3ca3fd7040c386ac798c35721415 (patch) | |
tree | 775a3cac3fd1477723aac9cbff3acc7a081e9a78 /src | |
parent | 6d9297f278290888e7e26762ee72ed6afa22a97e (diff) |
evaluate: reject unsupported expressions in payload statement for bitfields
The payload statement evaluation pretends that it can handle any
expression for bitfields, but the existing evaluation code only knows
how to handle value expression.
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 c090aebe..d7915ed1 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -3351,7 +3351,8 @@ static int stmt_evaluate_payload(struct eval_ctx *ctx, struct stmt *stmt) mpz_lshift_ui(stmt->payload.val->value, shift_imm); break; default: - break; + return expr_error(ctx->msgs, stmt->payload.val, + "payload statement for this expression is not supported"); } masklen = payload_byte_size * BITS_PER_BYTE; |