From: Christopher Faulet Date: Thu, 6 Feb 2025 16:01:08 +0000 (+0100) Subject: BUG/MINOR: flt-trace: Support only one name option X-Git-Tag: v3.2-dev5~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b20e2c96cfea06776db3200614f6d94441f15c2d;p=thirdparty%2Fhaproxy.git BUG/MINOR: flt-trace: Support only one name option When a trace filter is defined, only one 'name' option is expected. But it was not tested. Thus it was possible to set several names leading to a memory leak. It is now tested, and it is not allowed to redefine the trace filter name. It was reported by Coverity in #2841: CID 1587768. This patch could be backported to all stable versions. --- diff --git a/src/flt_trace.c b/src/flt_trace.c index bbadfe24c..3703dede5 100644 --- a/src/flt_trace.c +++ b/src/flt_trace.c @@ -631,6 +631,11 @@ parse_trace_flt(char **args, int *cur_arg, struct proxy *px, args[*cur_arg], args[pos]); goto error; } + if (conf->name) { + memprintf(err, "'%s' : '%s' option already defined", + args[*cur_arg], args[pos]); + goto error; + } conf->name = strdup(args[pos + 1]); if (!conf->name) { memprintf(err, "%s: out of memory", args[*cur_arg]);