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.

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

Commit messages:
 - 8241370: Crash in JPEGImageLoader after fix for JDK-8212034

Changes: https://git.openjdk.java.net/jfx/pull/154/files
 Webrev: https://webrevs.openjdk.java.net/jfx/154/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8241370
  Stats: 127 lines in 3 files changed: 125 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/jfx/pull/154.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/154/head:pull/154

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

Reply via email to