diff --git a/SabreTools.IO/Extensions/BinaryReaderExtensions.cs b/SabreTools.IO/Extensions/BinaryReaderExtensions.cs index 519174a..ca4e596 100644 --- a/SabreTools.IO/Extensions/BinaryReaderExtensions.cs +++ b/SabreTools.IO/Extensions/BinaryReaderExtensions.cs @@ -405,10 +405,10 @@ namespace SabreTools.IO.Extensions return null; ushort size = reader.ReadUInt16(); - if (reader.BaseStream.Position + size >= reader.BaseStream.Length) + if (reader.BaseStream.Position + (size * 2) >= reader.BaseStream.Length) return null; - byte[] buffer = reader.ReadBytes(size); + byte[] buffer = reader.ReadBytes(size * 2); return Encoding.Unicode.GetString(buffer); } diff --git a/SabreTools.IO/Extensions/ByteArrayReaderExtensions.cs b/SabreTools.IO/Extensions/ByteArrayReaderExtensions.cs index 127e4c3..5e483df 100644 --- a/SabreTools.IO/Extensions/ByteArrayReaderExtensions.cs +++ b/SabreTools.IO/Extensions/ByteArrayReaderExtensions.cs @@ -533,10 +533,10 @@ namespace SabreTools.IO.Extensions return null; ushort size = content.ReadUInt16(ref offset); - if (offset + size >= content.Length) + if (offset + (size * 2) >= content.Length) return null; - byte[] buffer = content.ReadBytes(ref offset, size); + byte[] buffer = content.ReadBytes(ref offset, size * 2); return Encoding.Unicode.GetString(buffer); } diff --git a/SabreTools.IO/Extensions/StreamReaderExtensions.cs b/SabreTools.IO/Extensions/StreamReaderExtensions.cs index b10884d..dc6a03f 100644 --- a/SabreTools.IO/Extensions/StreamReaderExtensions.cs +++ b/SabreTools.IO/Extensions/StreamReaderExtensions.cs @@ -517,10 +517,10 @@ namespace SabreTools.IO.Extensions return null; ushort size = stream.ReadUInt16(); - if (stream.Position + size >= stream.Length) + if (stream.Position + (size * 2) >= stream.Length) return null; - byte[] buffer = stream.ReadBytes(size); + byte[] buffer = stream.ReadBytes(size * 2); return Encoding.Unicode.GetString(buffer); }