1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-29 06:14:34 +00:00

rsaenh: Validate pbData in CPSetKeyParam().

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
This commit is contained in:
Dmitry Timoshkov 2024-04-25 11:25:13 +03:00 committed by Alexandre Julliard
parent 5f984f8ce3
commit 4ff40a6708

View File

@ -3797,7 +3797,7 @@ BOOL WINAPI RSAENH_CPGetHashParam(HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwPa
* CRYPT_EXPORT, CRYPT_READ, CRYPT_WRITE, CRYPT_MAC
* - KP_IV: Initialization vector
*/
BOOL WINAPI RSAENH_CPSetKeyParam(HCRYPTPROV hProv, HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData,
BOOL WINAPI RSAENH_CPSetKeyParam(HCRYPTPROV hProv, HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData,
DWORD dwFlags)
{
CRYPTKEY *pCryptKey;
@ -3815,13 +3815,19 @@ BOOL WINAPI RSAENH_CPSetKeyParam(HCRYPTPROV hProv, HCRYPTKEY hKey, DWORD dwParam
SetLastError(NTE_BAD_FLAGS);
return FALSE;
}
if (!lookup_handle(&handle_table, hKey, RSAENH_MAGIC_KEY, (OBJECTHDR**)&pCryptKey))
{
SetLastError(NTE_BAD_KEY);
return FALSE;
}
if (!pbData)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
switch (dwParam) {
case KP_PADDING:
/* The MS providers only support PKCS5_PADDING */