From: Willy Tarreau Date: Tue, 25 Feb 2020 06:51:59 +0000 (+0100) Subject: BUILD: ssl: only pass unsigned chars to isspace() X-Git-Tag: v2.2-dev3~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ded15b75640d8f96929beefa3357cafbea25171e;p=thirdparty%2Fhaproxy.git BUILD: ssl: only pass unsigned chars to isspace() A build failure on cygwin was reported on github actions here: https://github.com/haproxy/haproxy/runs/466507874 It's caused by a signed char being passed to isspace(), and this one being implemented as a macro instead of a function as the man page suggests. It's the same issue that regularly pops up on Solaris. This comes from commit 98263291cc3 which was merged in 1.8-dev1. A backport is possible though not incredibly useful. --- diff --git a/src/ssl_sock.c b/src/ssl_sock.c index 22985d5b34..3943d186b9 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -4591,7 +4591,7 @@ int ssl_sock_load_cert_list_file(char *file, struct bind_conf *bind_conf, struct /* end of string, end of loop */ *line = 0; break; - } else if (isspace(*line)) { + } else if (isspace((unsigned char)*line)) { newarg = 1; *line = 0; } else if (*line == '[') {