Check pdwDataLen param for non NULL'ness.
Implemented PP_IMPLTYPE and PP_VERSION provider params.
This commit is contained in:
parent
4fd4bf902d
commit
3b26f513b5
|
@ -2762,6 +2762,11 @@ BOOL WINAPI RSAENH_CPGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,
|
|||
TRACE("(hProv=%08lx, dwParam=%08lx, pbData=%p, pdwDataLen=%p, dwFlags=%08lx)\n",
|
||||
hProv, dwParam, pbData, pdwDataLen, dwFlags);
|
||||
|
||||
if (!pdwDataLen) {
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!lookup_handle(&handle_table, (unsigned int)hProv, RSAENH_MAGIC_CONTAINER,
|
||||
(OBJECTHDR**)&pKeyContainer))
|
||||
{
|
||||
|
@ -2785,6 +2790,14 @@ BOOL WINAPI RSAENH_CPGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,
|
|||
dwTemp = 8;
|
||||
return copy_param(pbData, pdwDataLen, (CONST BYTE*)&dwTemp, sizeof(dwTemp));
|
||||
|
||||
case PP_IMPTYPE:
|
||||
dwTemp = CRYPT_IMPL_SOFTWARE;
|
||||
return copy_param(pbData, pdwDataLen, (CONST BYTE*)&dwTemp, sizeof(dwTemp));
|
||||
|
||||
case PP_VERSION:
|
||||
dwTemp = 0x00000200;
|
||||
return copy_param(pbData, pdwDataLen, (CONST BYTE*)&dwTemp, sizeof(dwTemp));
|
||||
|
||||
case PP_ENUMCONTAINERS:
|
||||
if ((dwFlags & CRYPT_FIRST) == CRYPT_FIRST) pKeyContainer->dwEnumContainersCtr = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue