On Wed, 1 Apr 2020 13:43:39 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> This is a regression of 
>> [JDK-8212034](https://bugs.openjdk.java.net/browse/JDK-8212034).
>> When image is loaded in WebView usinga url, WebView attempts to load a image 
>> frames with partial image data. This was
>> implemented under, JDK-8153148 -> WCImageDecoderImpl.addImageData() -> calls 
>> loadFrames() with partial image data.
>> 
>> Call to jpeg_read_header() may fail when the partial image data has 
>> incomplete header information.
>> 
>> In the given case the jpeg_read_header() call fails and code execution flow 
>> enters the 'if
>> (setjmp(jerr->setjmp_buffer)) {}' block and results in call to 
>> disposeIIO(env, data);, which in turn calls
>> imageio_dispose. This will free cinfo->err and set it to NULL, and the 
>> subsequent call to (*cinfo->err->format_message)
>> crashes.  Verified All test run, Sanity tests with Ensemble app and Tested 
>> different web pages. Added a test, The test
>> passes with fix and causes a native crash without the fix.
>
> The fix looks good. I can also confirm that the test fails (crashes) without 
> your fix and passes with your fix.
> 
> The new LoadCorruptJPEGTest.java test doesn't use Robot, so it should be 
> moved to a package not underneath
> `test.robot`. For consistency with similar tests in `javafx.graphics`, I 
> recommend `test.com.sun.javafx.iio`.
> I left a few other comments on the test.

@johanvos This is a simple enough fix that I don't think it needs a second 
reviewer. Feel free to review it if you like.

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

PR: https://git.openjdk.java.net/jfx/pull/154

Reply via email to