From b260e9f841dc4e3c04da45e325ce23a11fec514d Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 5 Aug 2026 14:06:57 +0200 Subject: [PATCH] servers: fix to avoid a non-signal-safe call in signal handler `strlen()` is only guaranteed to be signal-safe since POSIX.1-2008. Ref: https://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html#tag_02_04_03 Reported by Copilot Bug: https://github.com/curl/curl/pull/22487#pullrequestreview-4863961494 Follow-up to e95f509c66abdd88ae02e3243cdc217f19c4a330 #16852 Closes #22491 --- tests/server/util.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/server/util.c b/tests/server/util.c index 41bfe6aa99..148a2e4786 100644 --- a/tests/server/util.c +++ b/tests/server/util.c @@ -399,8 +399,11 @@ static void exit_signal_handler(int signum) } else { static const char msg[] = "exit_signal_handler: failed opening "; + const char *str; (void)write(STDERR_FILENO, msg, CURL_CSTRLEN(msg)); - (void)write(STDERR_FILENO, serverlogfile, strlen(serverlogfile)); + str = serverlogfile; + while(*str) + (void)write(STDERR_FILENO, str++, 1); (void)write(STDERR_FILENO, "\n", 1); } }