[OpenJDK 2D-Dev] RFR: 8270893: IndexOutOfBoundsException while reading large TIFF file
Sergey Bylokhov
serb at openjdk.java.net
Sat Jul 24 03:20:04 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.
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.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4836
More information about the 2d-dev
mailing list