From: Willy Tarreau Date: Thu, 17 Mar 2022 19:26:54 +0000 (+0100) Subject: BUG/MINOR: tcp-rules: completely free incorrect TCP rules on error X-Git-Tag: v2.6-dev4~60 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=388c0f2a6;p=thirdparty%2Fhaproxy.git BUG/MINOR: tcp-rules: completely free incorrect TCP rules on error When a tcp-request or tcp-response rule fails to parse, we currently free only the rule without its contents, which makes ASAN complain. Now that we have a new function for this, let's completely free the rule. Reg-tests are now completely OK with ASAN. This relies on this commit: MINOR: actions: add new function free_act_rule() to free a single rule It's probably not needed to backport this since we're on the exit path anyway. --- diff --git a/src/tcp_rules.c b/src/tcp_rules.c index 82c1c5910f..e4c7647ea2 100644 --- a/src/tcp_rules.c +++ b/src/tcp_rules.c @@ -1192,7 +1192,7 @@ static int tcp_parse_tcp_rep(char **args, int section_type, struct proxy *curpx, return warn; error: - free(rule); + free_act_rule(rule); return -1; } @@ -1406,7 +1406,7 @@ static int tcp_parse_tcp_req(char **args, int section_type, struct proxy *curpx, return warn; error: - free(rule); + free_act_rule(rule); return -1; }