diff --git a/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs b/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs index fcc5ff7058..8076c11a37 100644 --- a/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs +++ b/src/ImageSharp/MetaData/Profiles/ICC/IccDataReader.cs @@ -131,6 +131,12 @@ namespace ImageSharp /// The value as a string public string ReadAsciiString(int length) { + if (length == 0) + { + return string.Empty; + } + + Guard.MustBeGreaterThan(length, 0, nameof(length)); string value = AsciiEncoding.GetString(this.data, this.AddIndex(length), length); // remove data after (potential) null terminator @@ -150,6 +156,13 @@ namespace ImageSharp /// The value as a string public string ReadUnicodeString(int length) { + if (length == 0) + { + return string.Empty; + } + + Guard.MustBeGreaterThan(length, 0, nameof(length)); + return Encoding.BigEndianUnicode.GetString(this.data, this.AddIndex(length), length); }