From e894699c1ea4a5e4cf0256fc9eba05a754ab1e58 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 17 Mar 2026 13:23:30 +0100 Subject: [PATCH] strerr: correct the strerror_s() return code condition In curlx_strerror on Windows, the condition checks `!strerror_s(...)` (true on success) and therefore always evaluates the fallback block. Even when strerror_s successfully produced a valid errno message. Follow-up to 1eca08a54177403205014 Pointed out by Codex Security Closes #20955 --- lib/curlx/strerr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/curlx/strerr.c b/lib/curlx/strerr.c index 91a329e915..b53173c578 100644 --- a/lib/curlx/strerr.c +++ b/lib/curlx/strerr.c @@ -263,7 +263,7 @@ const char *curlx_strerror(int err, char *buf, size_t buflen) *buf = '\0'; #ifdef _WIN32 - if((!strerror_s(buf, buflen, err) || !strcmp(buf, "Unknown error")) && + if((strerror_s(buf, buflen, err) || !strcmp(buf, "Unknown error")) && #ifdef USE_WINSOCK !get_winsock_error(err, buf, buflen) && #endif