From b10b7c1fcebe3ee03a683788d166e3ef5ee3dc9d Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Mon, 15 Dec 2025 00:05:15 +0100 Subject: [PATCH] tests/server: fix initialization on Windows Vista+ Make sure to call `curlx_now_init()` before the first call to `curlx_now()`. Before this patch the first `curlx_now()` used the non-Vista code path calling `GetTickCount()` on Vista+. This is harmless, but the upcoming PR #18009 is going to drop the non-Vista code path, causing a division by zero at startup in test servers, without this fix. Bug: https://github.com/curl/curl/pull/18009#issuecomment-3652154307 Closes #19973 --- tests/server/dnsd.c | 5 ----- tests/server/first.c | 5 +++++ tests/server/mqttd.c | 5 ----- tests/server/resolve.c | 5 ----- tests/server/rtspd.c | 5 ----- tests/server/sockfilt.c | 5 ----- tests/server/socksd.c | 5 ----- tests/server/sws.c | 5 ----- tests/server/tftpd.c | 5 ----- 9 files changed, 5 insertions(+), 40 deletions(-) diff --git a/tests/server/dnsd.c b/tests/server/dnsd.c index eaf56b03fb..949c9c12b3 100644 --- a/tests/server/dnsd.c +++ b/tests/server/dnsd.c @@ -474,11 +474,6 @@ static int test_dnsd(int argc, char **argv) snprintf(loglockfile, sizeof(loglockfile), "%s/%s/dnsd-%s.lock", logdir, SERVERLOGS_LOCKDIR, ipv_inuse); -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - #ifdef USE_IPV6 if(!use_ipv6) #endif diff --git a/tests/server/first.c b/tests/server/first.c index 0f30c78016..60a1404bbb 100644 --- a/tests/server/first.c +++ b/tests/server/first.c @@ -51,5 +51,10 @@ int main(int argc, char **argv) return 99; } +#ifdef _WIN32 + if(win32_init()) + return 2; +#endif + return entry_func(argc - 1, argv + 1); } diff --git a/tests/server/mqttd.c b/tests/server/mqttd.c index 64ba64dc69..cff3d497ea 100644 --- a/tests/server/mqttd.c +++ b/tests/server/mqttd.c @@ -822,11 +822,6 @@ static int test_mqttd(int argc, char *argv[]) snprintf(loglockfile, sizeof(loglockfile), "%s/%s/mqtt-%s.lock", logdir, SERVERLOGS_LOCKDIR, ipv_inuse); -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - CURLX_SET_BINMODE(stdin); CURLX_SET_BINMODE(stdout); CURLX_SET_BINMODE(stderr); diff --git a/tests/server/resolve.c b/tests/server/resolve.c index ed54eef5f3..3abcbcb33d 100644 --- a/tests/server/resolve.c +++ b/tests/server/resolve.c @@ -83,11 +83,6 @@ static int test_resolve(int argc, char *argv[]) return 1; } -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - #ifdef CURLRES_IPV6 if(use_ipv6) { /* Check that the system has IPv6 enabled before checking the resolver */ diff --git a/tests/server/rtspd.c b/tests/server/rtspd.c index 6c7aa1e9d0..b343c79bd4 100644 --- a/tests/server/rtspd.c +++ b/tests/server/rtspd.c @@ -1100,11 +1100,6 @@ static int test_rtspd(int argc, char *argv[]) snprintf(loglockfile, sizeof(loglockfile), "%s/%s/rtsp-%s.lock", logdir, SERVERLOGS_LOCKDIR, ipv_inuse); -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - install_signal_handlers(false); #ifdef USE_IPV6 diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index db0261bf14..01548f173d 100644 --- a/tests/server/sockfilt.c +++ b/tests/server/sockfilt.c @@ -1313,11 +1313,6 @@ static int test_sockfilt(int argc, char *argv[]) } } -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - CURLX_SET_BINMODE(stdin); CURLX_SET_BINMODE(stdout); CURLX_SET_BINMODE(stderr); diff --git a/tests/server/socksd.c b/tests/server/socksd.c index 99adb727fb..fdde648d3d 100644 --- a/tests/server/socksd.c +++ b/tests/server/socksd.c @@ -875,11 +875,6 @@ static int test_socksd(int argc, char *argv[]) } } -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - CURLX_SET_BINMODE(stdin); CURLX_SET_BINMODE(stdout); CURLX_SET_BINMODE(stderr); diff --git a/tests/server/sws.c b/tests/server/sws.c index c7ce249224..de0f096d46 100644 --- a/tests/server/sws.c +++ b/tests/server/sws.c @@ -2159,11 +2159,6 @@ static int test_sws(int argc, char *argv[]) logdir, SERVERLOGS_LOCKDIR, protocol_type, is_proxy ? "-proxy" : "", socket_type); -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - install_signal_handlers(false); req = calloc(1, sizeof(*req)); diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c index d1867e7c87..8c40c40b34 100644 --- a/tests/server/tftpd.c +++ b/tests/server/tftpd.c @@ -647,11 +647,6 @@ static int test_tftpd(int argc, char **argv) snprintf(loglockfile, sizeof(loglockfile), "%s/%s/tftp-%s.lock", logdir, SERVERLOGS_LOCKDIR, ipv_inuse); -#ifdef _WIN32 - if(win32_init()) - return 2; -#endif - install_signal_handlers(true); #ifdef USE_IPV6 -- 2.47.3