From: Viktor Szakats Date: Fri, 11 Oct 2024 08:53:32 +0000 (+0200) Subject: smb: do not redefine `getpid` on Windows X-Git-Tag: curl-8_11_0~159 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=960521d2107092727ccb67a4ed45945d32b89146;p=thirdparty%2Fcurl.git smb: do not redefine `getpid` on Windows Replace with namespaced local macro `Curl_getpid()`. Redefining symbols can backfire if that symbol is used in system headers, especially with unity build. We haven't seen a fallout in CI or supported envs, but do it anyway for good measure. Bug report: https://datagirl.xyz/posts/wolfssl_curl_w2k.html Closes #15263 --- diff --git a/lib/smb.c b/lib/smb.c index 948accda4d..2cd2deff64 100644 --- a/lib/smb.c +++ b/lib/smb.c @@ -28,7 +28,9 @@ #if !defined(CURL_DISABLE_SMB) && defined(USE_CURL_NTLM_CORE) #ifdef _WIN32 -#define getpid GetCurrentProcessId +#define Curl_getpid() ((unsigned int)GetCurrentProcessId()) +#else +#define Curl_getpid() ((unsigned int)getpid()) #endif #include "smb.h" @@ -546,7 +548,7 @@ static void smb_format_message(struct Curl_easy *data, struct smb_header *h, h->flags2 = smb_swap16(SMB_FLAGS2_IS_LONG_NAME | SMB_FLAGS2_KNOWS_LONG_NAME); h->uid = smb_swap16(smbc->uid); h->tid = smb_swap16(req->tid); - pid = (unsigned int)getpid(); + pid = Curl_getpid(); h->pid_high = smb_swap16((unsigned short)(pid >> 16)); h->pid = smb_swap16((unsigned short) pid); }