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

Jayathirth D V jdv at openjdk.java.net
Tue Aug 3 09:11:08 UTC 2021


On Sat, 24 Jul 2021 03:17:11 GMT, Sergey Bylokhov <serb 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.
>
> 1024000 bytes does not look like a big problem especially if it is generated on the fly during the test execution?
> You can try to load the data for our PYCC color profile and set one of its tag data to a big chunk like icSigCopyrightTag, or you can try to just fill it by zeros at the end.

@mrserb added regression test, please review.

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

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


More information about the 2d-dev mailing list