crypt32: Fix CryptFreeTls when calling with a freed index.
This commit is contained in:
parent
1b46c0660d
commit
a15dbfac22
|
@ -161,8 +161,13 @@ BOOL WINAPI I_CryptSetTls(DWORD dwTlsIndex, LPVOID lpTlsValue)
|
||||||
|
|
||||||
BOOL WINAPI I_CryptFreeTls(DWORD dwTlsIndex, DWORD unknown)
|
BOOL WINAPI I_CryptFreeTls(DWORD dwTlsIndex, DWORD unknown)
|
||||||
{
|
{
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
TRACE("(%d, %d)\n", dwTlsIndex, unknown);
|
TRACE("(%d, %d)\n", dwTlsIndex, unknown);
|
||||||
return TlsFree(dwTlsIndex);
|
|
||||||
|
ret = TlsFree(dwTlsIndex);
|
||||||
|
if (!ret) SetLastError( E_INVALIDARG );
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL WINAPI I_CryptGetOssGlobal(DWORD x)
|
BOOL WINAPI I_CryptGetOssGlobal(DWORD x)
|
||||||
|
|
|
@ -254,10 +254,8 @@ static void test_cryptTls(void)
|
||||||
ret = pI_CryptFreeTls(index, 0);
|
ret = pI_CryptFreeTls(index, 0);
|
||||||
ok(ret, "I_CryptFreeTls failed: %08x\n", GetLastError());
|
ok(ret, "I_CryptFreeTls failed: %08x\n", GetLastError());
|
||||||
ret = pI_CryptFreeTls(index, 0);
|
ret = pI_CryptFreeTls(index, 0);
|
||||||
/* Not sure if this fails because TlsFree should fail, so leave as
|
ok(!ret, "I_CryptFreeTls succeeded\n");
|
||||||
* todo for now.
|
ok(GetLastError() == E_INVALIDARG,
|
||||||
*/
|
|
||||||
todo_wine ok(!ret && GetLastError() == E_INVALIDARG,
|
|
||||||
"Expected E_INVALIDARG, got %08x\n", GetLastError());
|
"Expected E_INVALIDARG, got %08x\n", GetLastError());
|
||||||
}
|
}
|
||||||
/* Similar pass, check I_CryptDetachTls */
|
/* Similar pass, check I_CryptDetachTls */
|
||||||
|
|
Loading…
Reference in New Issue