From 7068ca1349228991a502402e22da4b53b7f63c65 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 3 Feb 2021 13:02:55 +0100 Subject: [PATCH] Treat IPTC Undefined data type as byte array --- src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs index 96149cba80..3cd67d2ab0 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs @@ -86,12 +86,14 @@ namespace SixLabors.ImageSharp.Formats.Experimental.Tiff if (iptc != null) { - if (iptc.DataType == ExifDataType.Byte) + if (iptc.DataType == ExifDataType.Byte || iptc.DataType == ExifDataType.Undefined) { iptcBytes = (byte[])iptc.GetValue(); return true; } - else if (iptc.DataType == ExifDataType.Long) + + // Some Encoders write the data type of IPTC as long. + if (iptc.DataType == ExifDataType.Long) { var iptcValues = (uint[])iptc.GetValue(); iptcBytes = new byte[iptcValues.Length * 4];