summaryrefslogtreecommitdiffstats
path: root/src/http_rules.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http_rules.c')
-rw-r--r--src/http_rules.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/http_rules.c b/src/http_rules.c
index 192f0c7..6ceacdf 100644
--- a/src/http_rules.c
+++ b/src/http_rules.c
@@ -320,17 +320,10 @@ struct act_rule *parse_http_after_res_cond(const char **args, const char *file,
/* completely free redirect rule */
void http_free_redirect_rule(struct redirect_rule *rdr)
{
- struct logformat_node *lf, *lfb;
-
free_acl_cond(rdr->cond);
free(rdr->rdr_str);
free(rdr->cookie_str);
- list_for_each_entry_safe(lf, lfb, &rdr->rdr_fmt, list) {
- LIST_DELETE(&lf->list);
- release_sample_expr(lf->expr);
- free(lf->arg);
- free(lf);
- }
+ lf_expr_deinit(&rdr->rdr_fmt);
free(rdr);
}
@@ -447,7 +440,7 @@ struct redirect_rule *http_parse_redirect_rule(const char *file, int linenum, st
if (!rule)
goto out_of_memory;
rule->cond = cond;
- LIST_INIT(&rule->rdr_fmt);
+ lf_expr_init(&rule->rdr_fmt);
if (!use_fmt) {
/* old-style static redirect rule */
@@ -473,9 +466,6 @@ struct redirect_rule *http_parse_redirect_rule(const char *file, int linenum, st
if (!parse_logformat_string(destination, curproxy, &rule->rdr_fmt, LOG_OPT_HTTP, cap, errmsg)) {
goto err;
}
- free(curproxy->conf.lfs_file);
- curproxy->conf.lfs_file = strdup(curproxy->conf.args.file);
- curproxy->conf.lfs_line = curproxy->conf.args.line;
}
}