From b20e2c96cfea06776db3200614f6d94441f15c2d Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Thu, 6 Feb 2025 17:01:08 +0100 Subject: [PATCH] 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. --- src/flt_trace.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/flt_trace.c b/src/flt_trace.c index bbadfe24cd..3703dede5c 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]); -- 2.47.3