From: Christopher Faulet Date: Mon, 4 May 2026 12:59:24 +0000 (+0200) Subject: BUG/MINOR: resolvers: Free opts on parse error in resolv_parse_do_resolve() X-Git-Tag: v3.4-dev11~61 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=1d54b9f70e627ffb3380c3f487afc9b3bc8794ed;p=haproxy.git BUG/MINOR: resolvers: Free opts on parse error in resolv_parse_do_resolve() The error handler at do_resolve_parse_error freed varname and resolvers_id but missed freeing rule->arg.resolv.opts (allocated via calloc). Added ha_free(&rule->arg.resolv.opts) to the cleanup path. This patch could be backported to all stable branches. --- diff --git a/src/resolvers.c b/src/resolvers.c index de93fea1a..0200be4c5 100644 --- a/src/resolvers.c +++ b/src/resolvers.c @@ -3403,6 +3403,7 @@ enum act_parse_ret resolv_parse_do_resolve(const char **args, int *orig_arg, str do_resolve_parse_error: ha_free(&rule->arg.resolv.varname); ha_free(&rule->arg.resolv.resolvers_id); + ha_free(&rule->arg.resolv.opts); memprintf(err, "Can't parse '%s'. Expects 'do-resolve(,[,]) '. Available options are 'ipv4' and 'ipv6'", args[cur_arg]); return ACT_RET_PRS_ERR;