BUG/MEDIUM: vars: run over the correct list in release_store_rules()

In commit 9a621ae76 ("MEDIUM: vars: add a new "set-var-fmt" action")
we introduced the support for format strings in variables with the
ability to release them on exit, except that it's the wrong list that
was being scanned for the rule (http vs vars), resulting in random
crashes during deinit.

This was a recent commit in 2.5-dev, no backport is needed.
This commit is contained in:
Willy Tarreau 2021-09-03 10:58:07 +02:00
parent 9a621ae76d
commit c77bad2467

View File

@ -724,7 +724,8 @@ static enum act_return action_clear(struct act_rule *rule, struct proxy *px,
static void release_store_rule(struct act_rule *rule)
{
struct logformat_node *lf, *lfb;
list_for_each_entry_safe(lf, lfb, &rule->arg.http.fmt, list) {
list_for_each_entry_safe(lf, lfb, &rule->arg.vars.fmt, list) {
LIST_DELETE(&lf->list);
release_sample_expr(lf->expr);
free(lf->arg);