On Tue, 29 Jul 2025 17:22:09 GMT, Phil Race <p...@openjdk.org> wrote:
>> Jayathirth D V has updated the pull request with a new target base due to a >> merge or a rebase. The incremental webrev excludes the unrelated changes >> brought in by the merge/rebase. The pull request contains five additional >> commits since the last revision: >> >> - Update test to handle all regression cases >> - Add checks at other places also >> - Merge remote-tracking branch 'upstream/master' into jpeg_getImageTypes >> - Check only for negative index >> - 8364135: JPEGImageReader.getImageTypes() should throw exception for >> non-zero image index > > src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java > line 907: > >> 905: if (imageIndex != 0) { >> 906: throw new IndexOutOfBoundsException("imageIndex != 0!"); >> 907: } > > There are JPEG streams with > 1. > And elsewhere we handle it. Look at hasNextImage() > > Is this method the sole place where -1 would not throw the right exception ? Thanks for the inputs. getWidth(), getHeight(), getRawImageType() also need similar check. What i have noticed is for all negative indices apart from "-1" we end up in gotoImage() function and it throws appropriate exception. Only getWidth(), getHeight(), getRawImageType() & getImageTypes() we don't throw proper exception according to spec when "-1" index is used. Also in case of getRawImageType() we actually throw NPE when "-1" index is passed. So i have updated the code to add additional check for negative index at these places also. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/26522#discussion_r2289860006