From: Pablo Neira Ayuso Date: Tue, 4 Oct 2022 23:36:52 +0000 (+0200) Subject: evaluate: datatype memleak after binop transfer X-Git-Tag: v1.0.6~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e780df8fcceeb5b8fbcbd5d965bb07124ed7da2d;p=thirdparty%2Fnftables.git 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 --- 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;