diff --git a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java index 0c1eca79..b43a5651 100755 --- a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java +++ b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java @@ -94,8 +94,9 @@ public final class TGAImageReaderSpi extends ImageReaderSpiBase { int colorMapDepth = stream.readUnsignedByte(); if (colorMapSize == 0) { - // No color map, all 3 fields should be 0 - if (colorMapStart != 0 || colorMapDepth != 0) { + // No color map, all 3 fields should be 0 (but some files contain bogus colorMapDepth) + if (colorMapStart != 0 || colorMapDepth != 0 + && colorMapDepth != 15 && colorMapDepth != 16 && colorMapDepth != 24 && colorMapDepth != 32) { return false; } } diff --git a/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderTest.java b/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderTest.java index 14a94df9..e7e6cecf 100755 --- a/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderTest.java +++ b/imageio/imageio-tga/src/test/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderTest.java @@ -94,7 +94,9 @@ public class TGAImageReaderTest extends ImageReaderAbstractTest new TestData(getClassLoaderResource("/tga/autodesk-3dsmax-extsize494.tga"), new Dimension(440, 200)), // RLE compressed 32 bit BGRA bottom/up new TestData(getClassLoaderResource("/tga/monochrome16_top_left.tga"), new Dimension(64, 64)), // Uncompressed 16 bit monochrome - new TestData(getClassLoaderResource("/tga/monochrome16_top_left_rle.tga"), new Dimension(64, 64)) // RLE compressed 16 bit monochrome + new TestData(getClassLoaderResource("/tga/monochrome16_top_left_rle.tga"), new Dimension(64, 64)), // RLE compressed 16 bit monochrome + + new TestData(getClassLoaderResource("/tga/692c33d1-d0c3-4fe2-a059-f199d063bc7a.tga"), new Dimension(256, 256)) // Uncompressed BGR, with colorMapDepth set to 24 ); } diff --git a/imageio/imageio-tga/src/test/resources/tga/692c33d1-d0c3-4fe2-a059-f199d063bc7a.tga b/imageio/imageio-tga/src/test/resources/tga/692c33d1-d0c3-4fe2-a059-f199d063bc7a.tga new file mode 100644 index 00000000..3d5aa2cb Binary files /dev/null and b/imageio/imageio-tga/src/test/resources/tga/692c33d1-d0c3-4fe2-a059-f199d063bc7a.tga differ