On Fri, 12 Jan 2024 13:46:43 GMT, Sean Mullan <mul...@openjdk.org> wrote:

>> ECDHKeyAgreement should validate the parameters before assigning them to the 
>> fields.
>
> src/java.base/share/classes/sun/security/ec/ECDHKeyAgreement.java line 83:
> 
>> 81:         privateKey = null;
>> 82:         privateKeyOps = null;
>> 83:         publicKey = null;
> 
> The fields should be initialized to null, so I don't think you need these 
> lines.

KeyAgreement ka = KeyAgreement.getInstance("ECDH");
ka.init(key1);
ka.init(key2);

If no those lines, when the second `init` throws exception, and the keys set by 
the first `init` are not cleared.
Please consider the test case `testInitWithInvalidKey` in 
`ECDHKeyAgreementParamValidation`.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17373#discussion_r1450607215

Reply via email to