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
This commit is contained in:
Viktor Szakats 2024-10-11 10:53:32 +02:00
parent e8a007de0d
commit 960521d210
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201

View File

@ -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);
}