From 0164a40c59e1c1ceb3661d29cbbe8fb7d988cbc3 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Fri, 6 May 2022 16:54:09 +0200 Subject: [PATCH] BUG/MINOR: tcp/http: release the expr of set-{src,dst}[-port] Release the expression used by the set-{src,dst}[-port] actions so we keep valgrind happy upon an exit or an haproxy -c. Could be backported in every supported version. --- src/tcp_act.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/tcp_act.c b/src/tcp_act.c index 7608643b3..354dbc95a 100644 --- a/src/tcp_act.c +++ b/src/tcp_act.c @@ -356,6 +356,14 @@ static enum act_return tcp_action_set_tos(struct act_rule *rule, struct proxy *p } #endif +/* + * Release the sample expr when releasing a set src/dst action + */ +static void release_set_src_dst_action(struct act_rule *rule) +{ + release_sample_expr(rule->arg.expr); +} + /* parse "set-{src,dst}[-port]" action */ static enum act_parse_ret tcp_parse_set_src_dst(const char **args, int *orig_arg, struct proxy *px, struct act_rule *rule, char **err) @@ -397,6 +405,7 @@ static enum act_parse_ret tcp_parse_set_src_dst(const char **args, int *orig_arg return ACT_RET_PRS_ERR; } + rule->release_ptr = release_set_src_dst_action; (*orig_arg)++; return ACT_RET_PRS_OK;