BUG/MINOR: http: Memory leak of http redirect rules' format string
When the configuration contains such a line: http-request redirect location / a "struct logformat_node" object is created and it contains an "arg" member which gets alloc'ed as well in which we copy the new location (see add_to_logformat_list). This internal arg pointer was not freed in the dedicated release_http_redir release function. Likewise, the expression pointer was not released as well. This patch can be backported to all stable branches. It should apply as-is all the way to 2.2 but it won't on 2.0 because release_http_redir did not exist yet.
This commit is contained in:
parent
80ff10c81d
commit
3120284c29
@ -1769,6 +1769,8 @@ static void release_http_redir(struct act_rule *rule)
|
||||
free(redir->cookie_str);
|
||||
list_for_each_entry_safe(lf, lfb, &redir->rdr_fmt, list) {
|
||||
LIST_DELETE(&lf->list);
|
||||
release_sample_expr(lf->expr);
|
||||
free(lf->arg);
|
||||
free(lf);
|
||||
}
|
||||
free(redir);
|
||||
|
@ -244,6 +244,8 @@ void free_proxy(struct proxy *p)
|
||||
free(rdr->rdr_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);
|
||||
}
|
||||
free(rdr);
|
||||
|
Loading…
x
Reference in New Issue
Block a user