Hi, Hello Ajit.
I am not sure that exclusion of the code is a correct fix here. For example can you clarify should we call setText(or other setXXX) when the table is null or not? Another question is: should we skip the code in SynthTableHeaderUI.java or we can assume table==null as enabled table?

On 17.02.16 14:29, Rajeev Chamyal wrote:
Looks good to me.

Regards,

Rajeev Chamyal

*From:*Ajit Ghaisas
*Sent:* 17 February 2016 16:51
*To:* Rajeev Chamyal; Sergey Bylokhov; Alexander Scherbatiy;
swing-dev@openjdk.java.net
*Subject:* RE: <Swing Dev> [9] Review fix for JDK-8020039 :
SynthTableHeaderUI refers to possibly null parameter in cell renderer

Hi,

     I have corrected formatting of test code and removed the additional
System.out.printlns.

     Please review :
http://cr.openjdk.java.net/~arapte/ajit/8020039/webrev.02/

Regards,

Ajit

*From:*Ajit Ghaisas
*Sent:* Tuesday, February 16, 2016 3:12 PM
*To:* Rajeev Chamyal; Sergey Bylokhov; Alexander Scherbatiy;
swing-dev@openjdk.java.net <mailto:swing-dev@openjdk.java.net>
*Subject:* Re: <Swing Dev> <Swing-dev> [9] Review fix for JDK-8020039 :
SynthTableHeaderUI refers to possibly null parameter in cell renderer

Hi,

     Thanks Rajeev for review comments.

      I have checked – windows LAF WindowsTableHeaderUI handles it
correctly.

      I have added null check for MacOs Aqua.

      Also, I have added a test checking for this null pointer access.

     Please review --
http://cr.openjdk.java.net/~arapte/ajit/8020039/webrev.01/

Regards,

Ajit

*From:*Rajeev Chamyal
*Sent:* Monday, February 15, 2016 5:39 PM
*To:* Ajit Ghaisas; Sergey Bylokhov; Alexander Scherbatiy;
swing-dev@openjdk.java.net <mailto:swing-dev@openjdk.java.net>
*Subject:* RE: <Swing-dev> [9] Review fix for JDK-8020039 :
SynthTableHeaderUI refers to possibly null parameter in cell renderer

Hello Ajit,

Can you please if similar fix is required for other LAF windows ,Aqua etc.

Please add a regression test case also.

Regards,

Rajeev Chamyal

*From:*Ajit Ghaisas
*Sent:* 15 February 2016 17:30
*To:* Rajeev Chamyal; Sergey Bylokhov; Alexander Scherbatiy;
swing-dev@openjdk.java.net <mailto:swing-dev@openjdk.java.net>
*Subject:* <Swing-dev> [9] Review fix for JDK-8020039 :
SynthTableHeaderUI refers to possibly null parameter in cell renderer

Hi,

Please review the fix for jdk9,

                 Bug: https://bugs.openjdk.java.net/browse/JDK-8020039

Webrev: http://cr.openjdk.java.net/~arapte/ajit/8020039/webrev.00/

Issue :

     If null is passed as ‘table’ parameter to
SynthTableHeaderUI::getTableCellRendererComponent() method in
  src/java.desktop/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java,

     there is Null Pointer Exception.

Analysis :

    This method already has a null check for ‘table’ parameter for
second access of this parameter in method.

    Whereas the first access of the ‘table’ parameter lacks this check.

Fix :

    Added null check for the first access of ‘table’ parameter in
SynthTableHeaderUI::getTableCellRendererComponent().

    There is no else block added as the flow continues and passes table
to base class method using super. getTableCellRendererComponent().

    The passed parameter is already checked in base class method
correctly. Hence, no change is needed in base class.

Test :

    The fix is pretty straight forward.

    Executed the code snippet given in the bug description. There is no
NPE after the fix.

Regards,

Ajit



--
Best regards, Sergey.

Reply via email to