From 388c0f2a6385060ee7f2d93863efddc9f0aba284 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 17 Mar 2022 20:26:54 +0100 Subject: [PATCH] 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. --- src/tcp_rules.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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; } -- 2.39.5