nftables/backport-evaluate-datatype-memleak-after-binop-transfer.patch
2023-03-24 14:10:12 +08:00

38 lines
1.1 KiB
Diff

From e780df8fcceeb5b8fbcbd5d965bb07124ed7da2d Mon Sep 17 00:00:00 2001
From: Pablo Neira Ayuso <pablo@netfilter.org>
Date: Wed, 5 Oct 2022 01:36:52 +0200
Subject: [PATCH] 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).
Conflict: NA
Reference: https://git.netfilter.org/nftables/commit?id=e780df8fcceeb5b8fbcbd5d965bb07124ed7da2d
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
src/evaluate.c | 1 -
1 file changed, 1 deletion(-)
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;
--
2.23.0