diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index ff92bda1..a03f21fe 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -93,7 +93,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { // Skip over 0xff padding between markers while (marker == 0xffff) { realPosition++; - marker = (marker & 0xff) << 8 | stream.readUnsignedByte(); + marker = 0xff00 | stream.readUnsignedByte(); } // TODO: Refactor to make various segments optional, we probably only want the "Adobe" APP14 segment, 'Exif' APP1 and very few others diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGSegmentUtil.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGSegmentUtil.java index 5ebce5b7..10db0713 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGSegmentUtil.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGSegmentUtil.java @@ -158,7 +158,7 @@ public final class JPEGSegmentUtil { // Skip over 0xff padding between markers while (marker == 0xffff) { - marker = (marker & 0xff) << 8 | stream.readUnsignedByte(); + marker = 0xff00 | stream.readUnsignedByte(); } if ((marker >> 8 & 0xff) != 0xff) {