BUG/MINOR: ssl/ckch: always free() the previous entry during parsing

The ckch_conf_parse() function is the generic function which parses
crt-store keywords from the crt-store section, and also from a crt-list.

When having multiple time the same keyword, a leak of the previous value
happens. This patch ensure that the previous value is always freed
before overwriting it.

This patch should be backported as far as 3.0.
This commit is contained in:
William Lallemand 2025-05-09 19:01:28 +02:00
parent 9ce3fb35a2
commit 311e0aa5c7

View File

@ -4870,6 +4870,7 @@ int ckch_conf_parse(char **args, int cur_arg, struct ckch_conf *f, int *found, c
if (ckch_conf_kws[i].type == PARSE_TYPE_STR) {
char **t = target;
ha_free(t);
*t = strdup(args[cur_arg + 1]);
if (!*t) {
ha_alert("parsing [%s:%d]: out of memory.\n", file, linenum);