Clang 21 adds a new diagnostic, which emits a warning when an uninitialized variable is passed by a const pointer: https://github.com/llvm/llvm-project/pull/148337. This causes a number of warnings in our tests, mostly in tests where cases where passed value doesn't matter.
From: Jacek Caban jacek@codeweavers.com
Fixes Clang -Wuninitialized-const-pointer warning. --- dlls/advapi32/tests/crypt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/crypt.c b/dlls/advapi32/tests/crypt.c index b8e4453d382..8dbdaf8389f 100644 --- a/dlls/advapi32/tests/crypt.c +++ b/dlls/advapi32/tests/crypt.c @@ -256,7 +256,7 @@ static void test_incorrect_api_usage(void) HCRYPTPROV hProv, hProv2; HCRYPTHASH hHash, hHash2; HCRYPTKEY hKey, hKey2; - BYTE temp; + BYTE temp = 0; DWORD dwLen, dwTemp;
/* This is to document incorrect api usage in the
From: Jacek Caban jacek@codeweavers.com
Fixes Clang -Wuninitialized-const-pointer warning. --- dlls/crypt32/tests/sip.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/crypt32/tests/sip.c b/dlls/crypt32/tests/sip.c index 1a61c558dd0..cdc3e9297bd 100644 --- a/dlls/crypt32/tests/sip.c +++ b/dlls/crypt32/tests/sip.c @@ -282,7 +282,6 @@ static void test_SIPRetrieveSubjectGUID(void) static void test_SIPLoad(void) { BOOL ret; - GUID subject; static GUID dummySubject = { 0xdeadbeef, 0xdead, 0xbeef, { 0xde,0xad,0xbe,0xef,0xde,0xad,0xbe,0xef }}; static GUID unknown = { 0xC689AABA, 0x8E78, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }}; /* WINTRUST.DLL */ static GUID unknown2 = { 0xDE351A43, 0x8E59, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }}; /* WINTRUST.DLL */ @@ -300,7 +299,7 @@ static void test_SIPLoad(void)
/* Only pSipDispatch NULL */ SetLastError(0xdeadbeef); - ret = CryptSIPLoad(&subject, 0, NULL); + ret = CryptSIPLoad(&dummySubject, 0, NULL); ok ( !ret, "Expected CryptSIPLoad to fail\n"); ok ( GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got 0x%08lx\n", GetLastError());
From: Jacek Caban jacek@codeweavers.com
Fixes Clang -Wuninitialized-const-pointer warning. --- dlls/kernel32/tests/virtual.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c index c9dce00c00b..d0553b19966 100644 --- a/dlls/kernel32/tests/virtual.c +++ b/dlls/kernel32/tests/virtual.c @@ -1629,7 +1629,7 @@ static void test_IsBadReadPtr(void) { BOOL ret; void *ptr = (void *)0xdeadbeef; - char stackvar; + char stackvar = 0;
ret = IsBadReadPtr(NULL, 0); ok(ret == FALSE, "Expected IsBadReadPtr to return FALSE, got %d\n", ret);
From: Jacek Caban jacek@codeweavers.com
Fixes Clang -Wuninitialized-const-pointer warning. --- dlls/ole32/tests/ole2.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/ole32/tests/ole2.c b/dlls/ole32/tests/ole2.c index dca9ba7a07f..41c8588f930 100644 --- a/dlls/ole32/tests/ole2.c +++ b/dlls/ole32/tests/ole2.c @@ -3158,6 +3158,7 @@ static void test_OleDraw(void) hr = OleDraw(NULL, 0, (HDC)0x1, NULL); ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
+ SetRect(&rect, 0, 0, 1, 1); hr = OleDraw(NULL, 0, (HDC)0x1, &rect); ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr); }
From: Jacek Caban jacek@codeweavers.com
Silences Clang -Wuninitialized-const-pointer warning. --- dlls/shlwapi/tests/ordinal.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/shlwapi/tests/ordinal.c b/dlls/shlwapi/tests/ordinal.c index 474c447686d..3c66ce53aea 100644 --- a/dlls/shlwapi/tests/ordinal.c +++ b/dlls/shlwapi/tests/ordinal.c @@ -2417,7 +2417,7 @@ static void test_IUnknown_ProfferService(void) static const GUID dummy_serviceid = { 0xdeadbeef }; call_trace_t trace_expected; HRESULT hr; - DWORD cookie; + DWORD cookie = 0;
provider = IServiceProviderImpl_Construct(); proff = IProfferServiceImpl_Construct(); @@ -2445,7 +2445,6 @@ static void test_IUnknown_ProfferService(void) add_call(&trace_expected, 3, &dummy_serviceid, provider, &cookie, 0, 0);
init_call_trace(&trace_got); - cookie = 0; hr = pIUnknown_ProfferService((IUnknown*)proff, &dummy_serviceid, provider, &cookie); ok(hr == S_OK, "got 0x%08lx\n", hr); ok(cookie == 0xdeadbeef, "got %lx\n", cookie);