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.
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]);