< prev index next >
jdk/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp
Print this page
@@ -1441,24 +1441,23 @@
*/
JNIEXPORT jint JNICALL Java_sun_security_mscapi_KeyStore_getKeyLength
(JNIEnv *env, jobject obj, jlong hKey)
{
DWORD dwDataLen = sizeof(DWORD);
- BYTE pbData[sizeof(DWORD)];
DWORD length = 0;
__try
{
// Get key length (in bits)
//TODO - may need to use KP_BLOCKLEN instead?
- if (!(::CryptGetKeyParam((HCRYPTKEY) hKey, KP_KEYLEN, (BYTE *)pbData, &dwDataLen,
+ // pbData must be a pointer to a DWORD value with KP_KEYLEN
+ if (!(::CryptGetKeyParam((HCRYPTKEY) hKey, KP_KEYLEN, (BYTE *)&length, &dwDataLen,
0))) {
ThrowException(env, KEY_EXCEPTION, GetLastError());
__leave;
}
- length = (DWORD) pbData;
}
__finally
{
// no cleanup required
}
< prev index next >