BUILD: ssl: strchr definition changed in C23

New gcc and clang versions from fedora rawhide seems to use the C23
standard by default. This version changes the definition of some
string.h functions, which now return a const char * instead of a char *.

src/ssl_sock.c: In function ‘SSL_CTX_keylog’:
src/ssl_sock.c:4475:17: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
 4475 |         lastarg = strrchr(line, ' ');

Strangely, -Wdiscarded-qualifiers does not seem to catch all the
strrchr.

Should fix issue #3228.

This could be backported in previous versions.
This commit is contained in:
William Lallemand 2026-01-07 14:31:30 +01:00
parent 71b00a945d
commit 5322bd3785

View file

@ -4462,7 +4462,7 @@ static void ssl_set_shctx(SSL_CTX *ctx)
static void SSL_CTX_keylog(const SSL *ssl, const char *line)
{
struct ssl_keylog *keylog;
char *lastarg = NULL;
const char *lastarg = NULL;
char *dst = NULL;
#ifdef USE_QUIC_OPENSSL_COMPAT