From: Willy Tarreau Date: Fri, 12 Feb 2021 07:42:30 +0000 (+0100) Subject: BUG/MINOR: tcpheck: the source list must be a const in dup_tcpcheck_var() X-Git-Tag: v2.4-dev8~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=09f2e77eb1adb6cd462744784aa9bd666219cf8b;p=thirdparty%2Fhaproxy.git BUG/MINOR: tcpheck: the source list must be a const in dup_tcpcheck_var() This is just an API bug but it's annoying when trying to tidy the code. The source list passed in argument must be a const and not a variable, as it's typically the list head from a default proxy and must obviously not be modified by the function. No backport is needed as it only impacts new code. --- diff --git a/include/haproxy/tcpcheck.h b/include/haproxy/tcpcheck.h index a8a36a7091..29b4c9b211 100644 --- a/include/haproxy/tcpcheck.h +++ b/include/haproxy/tcpcheck.h @@ -47,7 +47,7 @@ void deinit_proxy_tcpcheck(struct proxy *px); struct tcpcheck_var *create_tcpcheck_var(const struct ist name); void free_tcpcheck_var(struct tcpcheck_var *var); -int dup_tcpcheck_vars(struct list *dst, struct list *src); +int dup_tcpcheck_vars(struct list *dst, const struct list *src); void free_tcpcheck_vars(struct list *vars); int add_tcpcheck_expect_str(struct tcpcheck_rules *rules, const char *str); diff --git a/src/tcpcheck.c b/src/tcpcheck.c index 02c86afbc9..94ba28f3e6 100644 --- a/src/tcpcheck.c +++ b/src/tcpcheck.c @@ -254,9 +254,10 @@ void free_tcpcheck_vars(struct list *vars) } /* Duplicate a list of preset tcp-check variables */ -int dup_tcpcheck_vars(struct list *dst, struct list *src) +int dup_tcpcheck_vars(struct list *dst, const struct list *src) { - struct tcpcheck_var *var, *new = NULL; + const struct tcpcheck_var *var; + struct tcpcheck_var *new = NULL; list_for_each_entry(var, src, list) { new = create_tcpcheck_var(var->name);