Hi Pankaj,

I'd like to confirm:

793                 int width = image.getWidth(imageObserver);
794                 if (image != null) {

the image is not null at line 793, and as the side effect of calling image.getWidth(imageObserver), image is set to null, right? This requires a comment, doesn't it? Otherwise the condition in if looks always true. Is it possible that image becomes null before getWidth() is called?

Can we implement this differently?
I guess we'll also get NPE if src attribute of <image> tag is not an image.


I agree with Sergey, try-catch are not necessary in this case: you declared that main throws Exception. Any exception indicates the test failed.

Since JLabel is a Swing component, you should create its instance on EDT. SwingUtilities.invokeAndWait would do the job.

Regards,
Alexey

On 10/10/2019 21:35, Sergey Bylokhov wrote:
Hi, Pankaj.
I guess that the problem is that the "image" is accessed w/o synchronization on "this" like in other places, but it will be necessary to add one null check before usage of "image". Also, it is not necessary to have a try/catch block in the test, just call the problematic method

On 10/10/19 11:01 am, Pankaj Bansal wrote:
Hi All,

Please review the following fix for jdk14.


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

Webrev: http://cr.openjdk.java.net/~pbansal/8230235/webrev00/

Issue:

Rendering HTML with empty img attribute and documentBaseKey set causes NPE

Fix:

The issues is introduced after https://bugs.openjdk.java.net/browse/JDK-8218674.

When the documentBaseKey is set, but img tag is not set, the image URL may not be complete and may not point to actual image. In  ImageView class, when getWidth(ImageObserver) is called from the updateImageSize, it checks if image source is null and adds the ImageObserver (ImageView.ImageHandler) on the Image and sets the ImageView image as null. When getHeight is called, as image is set to null, it results in NPE.

We should verify that image is not null.

Testing:

I have tested it on Window, Linux and Mac.


Regards,
Pankaj Bansal




Reply via email to