diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java index 602507d7..16ac23b8 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/CCITTFaxDecoderStream.java @@ -221,7 +221,11 @@ final class CCITTFaxDecoderStream extends FilterInputStream { } private int getNextChangingElement(final int a0, final boolean white) throws IOException { - int start = (lastChangingElement & 0xFFFF_FFFC) + (white ? 0 : 1); + int start = (lastChangingElement & 0xFFFF_FFFE) + (white ? 0 : 1); + if (start > 2) { + start -= 2; + } + if (a0 == 0) { return start; } diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java index 075c7620..bfbb46ab 100644 --- a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java @@ -97,6 +97,7 @@ public class TIFFImageReaderTest extends ImageReaderAbstractTest