From 8a2847a7da6fb9f085805232d911dcf072402ce5 Mon Sep 17 00:00:00 2001 From: Shuyang Feng Date: Fri, 23 Oct 2026 13:12:28 +1100 Subject: [PATCH 1/2] [IMAGING-240] Handle missing EXIF subdirectory footer Preserve complete EXIF fields when the unused next-directory offset is truncated during non-strict classic TIFF parsing. Keep strict and root-directory parsing unchanged, and record a format compliance comment. Add five regression tests covering the reported JPEG, retained EXIF fields, strict rejection, a completed footer, and truncated root rejection. Full default Maven build passes: 1264 tests, zero failures or errors, seven skipped. --- .../imaging/formats/tiff/TiffReader.java | 12 ++- .../formats/jpeg/JpegImaging240Test.java | 81 ++++++++++++++++++ src/test/resources/IMAGING-240/img.jpg | Bin 0 -> 114885 bytes 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java create mode 100644 src/test/resources/IMAGING-240/img.jpg diff --git a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java index 8edd59df6f..288a740877 100644 --- a/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java +++ b/src/main/java/org/apache/commons/imaging/formats/tiff/TiffReader.java @@ -36,6 +36,7 @@ import org.apache.commons.imaging.formats.jpeg.JpegConstants; import org.apache.commons.imaging.formats.tiff.TiffDirectory.ImageDataElement; import org.apache.commons.imaging.formats.tiff.constants.ExifTagConstants; +import org.apache.commons.imaging.formats.tiff.constants.TiffConstants; import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryConstants; import org.apache.commons.imaging.formats.tiff.constants.TiffTagConstants; import org.apache.commons.imaging.formats.tiff.fieldtypes.AbstractFieldType; @@ -424,7 +425,16 @@ private boolean readDirectory(final ByteSource byteSource, final long directoryO } } - final long nextDirectoryOffset = 0xFFFFffffL & BinaryFunctions.read4Bytes("nextDirectoryOffset", is, "Not a Valid TIFF File", getByteOrder()); + final long nextDirectoryOffset; + final long directoryEnd = directoryOffset + TiffConstants.DIRECTORY_HEADER_LENGTH + entryCount * TiffConstants.ENTRY_LENGTH; + if (standardTiff && ignoreNextDirectory && !strict && byteSource.size() - directoryEnd < TiffConstants.DIRECTORY_FOOTER_LENGTH) { + // Some EXIF subdirectories omit the unused next-directory offset. + // Preserve their fields without relaxing root-directory or strict parsing. + formatCompliance.addComment("Missing next directory offset in EXIF subdirectory"); + nextDirectoryOffset = 0; + } else { + nextDirectoryOffset = 0xFFFFffffL & BinaryFunctions.read4Bytes("nextDirectoryOffset", is, "Not a Valid TIFF File", getByteOrder()); + } final TiffDirectory directory = new TiffDirectory(dirType, fields, directoryOffset, nextDirectoryOffset, getByteOrder()); diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java new file mode 100644 index 0000000000..ffa0ada723 --- /dev/null +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.commons.imaging.formats.jpeg; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; + +import org.apache.commons.imaging.FormatCompliance; +import org.apache.commons.imaging.ImageInfo; +import org.apache.commons.imaging.Imaging; +import org.apache.commons.imaging.bytesource.ByteSource; +import org.apache.commons.imaging.formats.tiff.TiffContents; +import org.apache.commons.imaging.formats.tiff.TiffReader; +import org.apache.commons.imaging.formats.tiff.constants.TiffDirectoryConstants; +import org.apache.commons.imaging.test.TestResources; +import org.junit.jupiter.api.Test; + +class JpegImaging240Test { + + private File getImage() { + return TestResources.resourceToFile("/IMAGING-240/img.jpg"); + } + + @Test + void testImageInfoWithMissingExifDirectoryFooter() throws Exception { + final ImageInfo info = Imaging.getImageInfo(getImage()); + assertEquals(731, info.getWidth()); + assertEquals(727, info.getHeight()); + } + + @Test + void testMetadataPreservesExifDirectory() throws Exception { + final JpegImageMetadata metadata = (JpegImageMetadata) Imaging.getMetadata(getImage()); + assertNotNull(metadata.getExif()); + final TiffContents contents = metadata.getExif().contents; + assertEquals(2, contents.directories.size()); + assertEquals(TiffDirectoryConstants.DIRECTORY_TYPE_EXIF, contents.directories.get(1).type); + assertEquals(3, contents.directories.get(1).getDirectoryEntries().size()); + } + + @Test + void testStrictReaderRejectsMissingExifDirectoryFooter() throws Exception { + final byte[] exif = new JpegImageParser().getExifRawData(ByteSource.file(getImage())); + assertThrows(IOException.class, () -> new TiffReader(true).readDirectories(ByteSource.array(exif), false, FormatCompliance.getDefault())); + } + + @Test + void testCompleteExifDirectoryFooter() throws Exception { + final byte[] exif = new JpegImageParser().getExifRawData(ByteSource.file(getImage())); + final byte[] complete = Arrays.copyOf(exif, exif.length + 4); + final TiffContents contents = new TiffReader(true).readDirectories(ByteSource.array(complete), false, FormatCompliance.getDefault()); + assertEquals(2, contents.directories.size()); + assertEquals(3, contents.directories.get(1).getDirectoryEntries().size()); + } + + @Test + void testNonStrictReaderStillRejectsTruncatedRootDirectoryFooter() { + final byte[] tiff = { 'I', 'I', 42, 0, 8, 0, 0, 0, 0, 0 }; + assertThrows(IOException.class, () -> new TiffReader(false).readDirectories(ByteSource.array(tiff), false, FormatCompliance.getDefault())); + } +} diff --git a/src/test/resources/IMAGING-240/img.jpg b/src/test/resources/IMAGING-240/img.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a5187f1a7d29e4cb07181006a9e564f8a9f47186 GIT binary patch literal 114885 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 I&_9#^4G{n{0RR91 literal 0 HcmV?d00001 From f767bcfb4c97124922878e3d8ec9c1644f11e810 Mon Sep 17 00:00:00 2001 From: Qingyuan Zhu Date: Fri, 23 Oct 2026 22:30:19 +1100 Subject: [PATCH 2/2] IMAGING-240 Add EXIF directory footer boundary tests --- .../formats/jpeg/JpegImaging240Test.java | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java index ffa0ada723..bbb5d220cf 100644 --- a/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java +++ b/src/test/java/org/apache/commons/imaging/formats/jpeg/JpegImaging240Test.java @@ -21,6 +21,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.util.Arrays; @@ -78,4 +79,79 @@ void testNonStrictReaderStillRejectsTruncatedRootDirectoryFooter() { final byte[] tiff = { 'I', 'I', 42, 0, 8, 0, 0, 0, 0, 0 }; assertThrows(IOException.class, () -> new TiffReader(false).readDirectories(ByteSource.array(tiff), false, FormatCompliance.getDefault())); } + + @Test + void testNonStrictReaderAcceptsExifDirectoryFooterWithPartialBytesRemaining() throws Exception { + final byte[] exif = new JpegImageParser().getExifRawData(ByteSource.file(getImage())); + for (int remaining = 1; remaining <= 3; remaining++) { + final byte[] partial = Arrays.copyOf(exif, exif.length + remaining); + final TiffContents contents = new TiffReader(false).readDirectories(ByteSource.array(partial), false, FormatCompliance.getDefault()); + assertEquals(2, contents.directories.size(), "remaining=" + remaining); + assertEquals(3, contents.directories.get(1).getDirectoryEntries().size(), "remaining=" + remaining); + } + } + + @Test + void testStrictReaderRejectsExifDirectoryFooterWithPartialBytesRemaining() throws Exception { + final byte[] exif = new JpegImageParser().getExifRawData(ByteSource.file(getImage())); + for (int remaining = 1; remaining <= 3; remaining++) { + final byte[] partial = Arrays.copyOf(exif, exif.length + remaining); + assertThrows(IOException.class, () -> new TiffReader(true).readDirectories(ByteSource.array(partial), false, FormatCompliance.getDefault()), + "remaining=" + remaining); + } + } + + @Test + void testNonStrictReaderAcceptsBigEndianMissingExifDirectoryFooter() throws Exception { + final byte[] tiff = buildBigEndianTiffWithMissingExifFooter(); + final TiffContents contents = new TiffReader(false).readDirectories(ByteSource.array(tiff), false, FormatCompliance.getDefault()); + assertEquals(2, contents.directories.size()); + assertEquals(TiffDirectoryConstants.DIRECTORY_TYPE_EXIF, contents.directories.get(1).type); + } + + @Test + void testStrictReaderRejectsBigEndianMissingExifDirectoryFooter() throws Exception { + final byte[] tiff = buildBigEndianTiffWithMissingExifFooter(); + assertThrows(IOException.class, () -> new TiffReader(true).readDirectories(ByteSource.array(tiff), false, FormatCompliance.getDefault())); + } + + /** + * Builds a minimal big-endian (Motorola byte order) standard TIFF whose single root entry points to an EXIF + * subdirectory, and whose EXIF subdirectory omits its trailing 4-byte next-directory-offset field, mirroring the + * real-world condition that IMAGING-240 addresses but in big-endian byte order. + */ + private static byte[] buildBigEndianTiffWithMissingExifFooter() { + final int rootEntryCount = 1; + final long subDirectoryOffset = 8 + 2 + rootEntryCount * 12L + 4; + final ByteArrayOutputStream out = new ByteArrayOutputStream(); + out.write('M'); + out.write('M'); + writeShortBE(out, 42); + writeIntBE(out, 8); + writeShortBE(out, rootEntryCount); + writeShortBE(out, 0x8769); + writeShortBE(out, 4); + writeIntBE(out, 1); + writeIntBE(out, subDirectoryOffset); + writeIntBE(out, 0); + writeShortBE(out, 1); + writeShortBE(out, 0x0100); + writeShortBE(out, 3); + writeIntBE(out, 1); + writeShortBE(out, 123); + writeShortBE(out, 0); + return out.toByteArray(); + } + + private static void writeShortBE(final ByteArrayOutputStream out, final int value) { + out.write((value >> 8) & 0xFF); + out.write(value & 0xFF); + } + + private static void writeIntBE(final ByteArrayOutputStream out, final long value) { + out.write((int) ((value >> 24) & 0xFF)); + out.write((int) ((value >> 16) & 0xFF)); + out.write((int) ((value >> 8) & 0xFF)); + out.write((int) (value & 0xFF)); + } }