summaryrefslogtreecommitdiffstats
path: root/src/evaluate.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2022-10-05 01:36:52 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2022-10-06 15:35:23 +0200
commite780df8fcceeb5b8fbcbd5d965bb07124ed7da2d (patch)
treed902ab79f32e5e8ee76c8e8bb268c090512da88a /src/evaluate.c
parent77bd7e0c70d9a1914c4a853e09849af724c0f695 (diff)
evaluate: datatype memleak after binop transfer
The following ruleset: ip version vmap { 4 : jump t3, 6 : jump t4 } results in a memleak. expr_evaluate_shift() overrides the datatype which results in a datatype memleak after the binop transfer that triggers a left-shift of the constant (in the map). Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/evaluate.c')
-rw-r--r--src/evaluate.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index 2e2b8df0..0bf6a0d1 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -1189,7 +1189,6 @@ static int expr_evaluate_shift(struct eval_ctx *ctx, struct expr **expr)
if (byteorder_conversion(ctx, &op->right, BYTEORDER_HOST_ENDIAN) < 0)
return -1;
- op->dtype = &integer_type;
op->byteorder = BYTEORDER_HOST_ENDIAN;
op->len = left->len;