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.
This commit is contained in:
William Lallemand 2022-05-06 16:54:09 +02:00
parent 7831e0272e
commit 0164a40c59

View File

@ -356,6 +356,14 @@ static enum act_return tcp_action_set_tos(struct act_rule *rule, struct proxy *p
} }
#endif #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 */ /* 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, 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) 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; return ACT_RET_PRS_ERR;
} }
rule->release_ptr = release_set_src_dst_action;
(*orig_arg)++; (*orig_arg)++;
return ACT_RET_PRS_OK; return ACT_RET_PRS_OK;