<Swing Dev> RFR: 8049301: Suspicious use of string identity checks in JComponent.setUIProperty
Alexander Zvegintsev
azvegint at openjdk.java.net
Fri Jul 30 09:35:34 UTC 2021
On Fri, 30 Jul 2021 06:04:17 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
> JComponent.setUIProperty method uses string identity check (==) rather than string equality checks (.equals) when comparing against the property name. This is suspicious since string identity and equality and equivalent only for interned strings.
> Rectified to use String.equals() check.
src/java.desktop/share/classes/javax/swing/JComponent.java line 4194:
> 4192: */
> 4193: void setUIProperty(String propertyName, Object value) {
> 4194: if (propertyName.equals("opaque")) {
This will throw an NPE if `propertyName` is `null`, which didn't happened before the fix.
> this method could be rewritten to use strings in switch.
Probably we might still want to use switch, it will handle the NPE case as before the fix.
Did you run CI tests after the fix?
-------------
PR: https://git.openjdk.java.net/jdk/pull/4943
More information about the swing-dev
mailing list