summaryrefslogtreecommitdiffstats
path: root/src/evaluate.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2023-11-22 20:35:07 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2023-11-27 12:54:51 +0100
commit208a428a63d9292adc589ed8f6f11f561baddb65 (patch)
tree8d2febc4e87c0a3c6c0fb70a7c84fc26ae169eb0 /src/evaluate.c
parentf7e50d965735636ab932e5280a3d562629a6a58b (diff)
evaluate: clone unary expression datatype to deal with dynamic datatype
upstream faa6908fad6053ae9549c45b88d0402cc69cf1ed commit. When allocating a unary expression, clone the datatype to deal with dynamic datatypes. Fixes: 6b01bb9ff798 ("datatype: concat expression only releases dynamically allocated datatype") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/evaluate.c')
-rw-r--r--src/evaluate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index bc270416..bdd7d458 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -1127,7 +1127,7 @@ static int expr_evaluate_unary(struct eval_ctx *ctx, struct expr **expr)
BUG("invalid unary operation %u\n", unary->op);
}
- unary->dtype = arg->dtype;
+ unary->dtype = dtype_clone(arg->dtype);
unary->byteorder = byteorder;
unary->len = arg->len;
return 0;