From: Dmitry Timoshkov <dmitry(a)baikal.ru>
Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru>
---
dlls/rsaenh/rsaenh.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 3a2d7126ca4..ce740172b61 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -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(NTE_BAD_DATA);
+ return FALSE;
+ }
+
switch (dwParam) {
case KP_PADDING:
/* The MS providers only support PKCS5_PADDING */
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/5535