]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: ssl/ckch: always ha_freearray() the previous entry during parsing
authorWilliam Lallemand <wlallemand@haproxy.com>
Fri, 9 May 2025 17:16:02 +0000 (19:16 +0200)
committerWilliam Lallemand <wlallemand@haproxy.com>
Fri, 9 May 2025 17:16:02 +0000 (19:16 +0200)
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 is the same problem as the previous "BUG/MINOR: ssl/ckch: always
free() the previous entry during parsing" patch, however this one
applies on PARSE_TYPE_ARRAY_SUBSTR.

No backport needed.

src/ssl_ckch.c

index cf1357168159b73b5654b79c21c51001067c9d37..a2e96dd36dd63dcd45196583fe1c61b5952dbb27 100644 (file)
@@ -4884,7 +4884,7 @@ int ckch_conf_parse(char **args, int cur_arg, struct ckch_conf *f, int *found, c
                                char *b, *e;
 
                                /* split a string into substring split by colons */
-
+                               ha_freearray(t);
                                e = b = args[cur_arg + 1];
                                do {
                                        while (*e != ',' && *e != '\0')