Dmitry Timoshkov : rsaenh: Validate pbData in CPSetKeyParam().
Module: wine Branch: master Commit: 4ff40a670867f9a05037384b3802281b6dd9dbea URL: https://gitlab.winehq.org/wine/wine/-/commit/4ff40a670867f9a05037384b3802281... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Thu Apr 25 11:25:13 2024 +0300 rsaenh: Validate pbData in CPSetKeyParam(). 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..f854e35dfdf 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(ERROR_INVALID_PARAMETER); + return FALSE; + } + switch (dwParam) { case KP_PADDING: /* The MS providers only support PKCS5_PADDING */
participants (1)
-
Alexandre Julliard