提交 02615e3f 编写于 作者: V vinnie

8048512: Uninitialised memory in jdk/src/share/native/sun/security/ec/ECC_JNI.cpp

Reviewed-by: mullan
上级 3f7f09fa
...@@ -211,6 +211,7 @@ JNICALL Java_sun_security_ec_ECDSASignature_signDigest ...@@ -211,6 +211,7 @@ JNICALL Java_sun_security_ec_ECDSASignature_signDigest
digest_item.len = jDigestLength; digest_item.len = jDigestLength;
ECPrivateKey privKey; ECPrivateKey privKey;
privKey.privateValue.data = NULL;
// Initialize the ECParams struct // Initialize the ECParams struct
ECParams *ecparams = NULL; ECParams *ecparams = NULL;
...@@ -387,9 +388,14 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey ...@@ -387,9 +388,14 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey
{ {
jbyteArray jSecret = NULL; jbyteArray jSecret = NULL;
ECParams *ecparams = NULL; ECParams *ecparams = NULL;
SECItem privateValue_item;
privateValue_item.data = NULL;
SECItem publicValue_item;
publicValue_item.data = NULL;
SECKEYECParams params_item;
params_item.data = NULL;
// Extract private key value // Extract private key value
SECItem privateValue_item;
privateValue_item.len = env->GetArrayLength(privateKey); privateValue_item.len = env->GetArrayLength(privateKey);
privateValue_item.data = privateValue_item.data =
(unsigned char *) env->GetByteArrayElements(privateKey, 0); (unsigned char *) env->GetByteArrayElements(privateKey, 0);
...@@ -398,7 +404,6 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey ...@@ -398,7 +404,6 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey
} }
// Extract public key value // Extract public key value
SECItem publicValue_item;
publicValue_item.len = env->GetArrayLength(publicKey); publicValue_item.len = env->GetArrayLength(publicKey);
publicValue_item.data = publicValue_item.data =
(unsigned char *) env->GetByteArrayElements(publicKey, 0); (unsigned char *) env->GetByteArrayElements(publicKey, 0);
...@@ -407,7 +412,6 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey ...@@ -407,7 +412,6 @@ JNICALL Java_sun_security_ec_ECDHKeyAgreement_deriveKey
} }
// Initialize the ECParams struct // Initialize the ECParams struct
SECKEYECParams params_item;
params_item.len = env->GetArrayLength(encodedParams); params_item.len = env->GetArrayLength(encodedParams);
params_item.data = params_item.data =
(unsigned char *) env->GetByteArrayElements(encodedParams, 0); (unsigned char *) env->GetByteArrayElements(encodedParams, 0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册