From 49c7cd197956c8dfccc7ec937b278f7a00c2d3a3 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Fri, 7 Aug 2020 11:24:55 +0200 Subject: [PATCH] #466 TGA extension size fix for 3ds max files --- .../imageio/plugins/tga/TGAExtensions.java | 11 ++++++----- .../imageio/plugins/tga/TGAImageReaderTest.java | 4 +++- .../tga/autodesk-3dsmax-extsize494.tga | Bin 0 -> 52570 bytes 3 files changed, 9 insertions(+), 6 deletions(-) create mode 100644 imageio/imageio-tga/src/test/resources/tga/autodesk-3dsmax-extsize494.tga diff --git a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAExtensions.java b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAExtensions.java index 1639f51f..39ee721c 100644 --- a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAExtensions.java +++ b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAExtensions.java @@ -72,8 +72,9 @@ final class TGAExtensions { static TGAExtensions read(final ImageInputStream stream) throws IOException { int extSize = stream.readUnsignedShort(); - // Should always be 495 for version 2.0, no newer version exists... - if (extSize < EXT_AREA_SIZE) { + // Should always be 495 for version 2.0, no newer version exists. + // NOTE: Known AutoDesk 3ds Max issue, extension area size field is 494, but still good. + if (extSize < EXT_AREA_SIZE - 1) { throw new IIOException(String.format("TGA Extension Area size less than %d: %d", EXT_AREA_SIZE, extSize)); } @@ -89,10 +90,10 @@ final class TGAExtensions { // Software version (* 100) short + single byte ASCII (ie. 101 'b' for 1.01b) int softwareVersion = stream.readUnsignedShort(); - int softwareLetter = stream.readByte(); + char softwareLetter = (char) stream.readByte(); - extensions.softwareVersion = softwareVersion != 0 && softwareLetter != ' ' - ? String.format("%d.%d%d", softwareVersion / 100, softwareVersion % 100, softwareLetter).trim() + extensions.softwareVersion = softwareVersion != 0 || softwareLetter != ' ' + ? String.format("%d.%d%s", softwareVersion / 100, softwareVersion % 100, softwareLetter).trim() : null; extensions.backgroundColor = stream.readInt(); // ARGB 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 795859c6..8329e88b 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 @@ -76,7 +76,9 @@ public class TGAImageReaderTest extends ImageReaderAbstractTest new TestData(getClassLoaderResource("/tga/XING_B32.TGA"), new Dimension(240, 164)), // Uncompressed 32 bit BGRA bottom/up new TestData(getClassLoaderResource("/tga/XING_T16.TGA"), new Dimension(240, 164)), // Uncompressed 16 bit BGR top/down new TestData(getClassLoaderResource("/tga/XING_T24.TGA"), new Dimension(240, 164)), // Uncompressed 24 bit BGR top/down - new TestData(getClassLoaderResource("/tga/XING_T32.TGA"), new Dimension(240, 164)) // Uncompressed 32 bit BGRA top/down + new TestData(getClassLoaderResource("/tga/XING_T32.TGA"), new Dimension(240, 164)), // Uncompressed 32 bit BGRA top/down + + new TestData(getClassLoaderResource("/tga/autodesk-3dsmax-extsize494.tga"), new Dimension(440, 200)) // RLE compressed 32 bit BGRA bottom/up ); } diff --git a/imageio/imageio-tga/src/test/resources/tga/autodesk-3dsmax-extsize494.tga b/imageio/imageio-tga/src/test/resources/tga/autodesk-3dsmax-extsize494.tga new file mode 100644 index 0000000000000000000000000000000000000000..e19704c876323f910dfa1dc7d93ba6d2a8721f5a GIT binary patch literal 52570 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≫EDZt1)Tt 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