[OpenJDK 2D-Dev] RFR: 8270893: IndexOutOfBoundsException while reading large TIFF file

Sergey Bylokhov serb at openjdk.java.net
Thu Jul 22 05:38:44 UTC 2021


On Tue, 20 Jul 2021 06:25:22 GMT, Jayathirth D V <jdv at openjdk.org> wrote:

> We are incorrectly passing source offset to ImageInputStream.readFully() which is getting used on destination buffer. streamPos maintained in each implementation of stream maintain's appropriate source offset while reading the data. Since we are completely utilizing destination buffer any offset greater than 0 would cause IOOBE. In our case we should use 0 as offset value.
> 
> Also to hit this code we need stream/file with at-least 1MB of IFD data, that's why there is no regression test. This change can be verified using image attached in JBS. All test run is green.

We can save the header of the image as a binary array and then generate the image on the fly by filling the content with zeros. So it is not necessary to store such file in the repo.

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

PR: https://git.openjdk.java.net/jdk/pull/4836


More information about the 2d-dev mailing list