From d78e6373a8eda9533fc6ec3dadb25aa0d0d84f65 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 19 Nov 2024 10:36:41 +0100 Subject: [PATCH] Minor improvement, use real length when known. --- .../imageio/plugins/jpeg/JPEGSegmentImageInputStream.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 028071d7..f2aff06d 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 @@ -195,7 +195,8 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { if (marker == JPEG.SOS) { // Treat rest of stream as a single segment (scanning for EOI is too much work) // TODO: For progressive, there will be more than one SOS... - segments.add(new Segment(-1, segment.realEnd(), segment.end(), Long.MAX_VALUE - segment.realEnd())); + long end = stream.length() > 0 ? stream.length() : Long.MAX_VALUE; + segments.add(new Segment(-1, segment.realEnd(), segment.end(), end - segment.realEnd())); } if (streamPos >= segment.start && streamPos < segment.end()) {