On Wed, 23 Jun 2021 19:32:11 GMT, Alexander Zuev <[email protected]> wrote:
>> src/java.desktop/share/classes/javax/swing/JPasswordField.java line 514:
>>
>>> 512: public String getAtIndex(int part, int index) {
>>> 513: if (part == AccessibleText.CHARACTER) {
>>> 514: return getEchoString(super.getAtIndex(part, index));
>>
>> I don't see how removing the local variable changes anything. Explanation ??
>
> Here it is just a slight code cleanup. We do not need additional variable for
> passing value from one method to another. It serves no other purpose at all.
> It was used before on the second leg of the if but the usage was removed so
> it became useless.
If this is about security, I don’t see how it might help. There is a chance
that the heap dump might capture the content of the local variable. If you
submit your heap dump to someone, whom you do not trust, I have bad news for
you.
The probability of the heap dump to capture a local variable is more than zero.
True, but less than probable.
I don’t know if calling same methods in a single line makes this control more
secure (if we take the situation that the heap dump pauses an execution of the
thread exactly at our „moment of time“). I am not a member of the project JDK,
but I doubt that this PR solves something.
To me, an additional local variable adds better supportability (debugging) to
this code. Otherwise everything should be put into a single fat method.
-------------
PR: https://git.openjdk.java.net/jdk17/pull/127