diff --git a/Streams/AACS.Deserializer.cs b/Streams/AACS.Deserializer.cs index 7fdee0ac..cec96808 100644 --- a/Streams/AACS.Deserializer.cs +++ b/Streams/AACS.Deserializer.cs @@ -48,9 +48,9 @@ namespace SabreTools.Serialization.Streams break; // Align to the 4-byte boundary if we're not at the end - if (data.Position != data.Length) + if (data.Position < data.Length) { - while ((data.Position % 4) != 0) + while (data.Position < data.Length && (data.Position % 4) != 0) _ = data.ReadByteValue(); } else diff --git a/Streams/PortableExecutable.Deserializer.cs b/Streams/PortableExecutable.Deserializer.cs index 4f3d6c81..98ac475b 100644 --- a/Streams/PortableExecutable.Deserializer.cs +++ b/Streams/PortableExecutable.Deserializer.cs @@ -716,7 +716,7 @@ namespace SabreTools.Serialization.Streams { var attributeCertificateTable = new List(); - while (data.Position < endOffset && data.Position != data.Length) + while (data.Position < endOffset && data.Position < data.Length) { var entry = new AttributeCertificateTableEntry(); @@ -731,7 +731,7 @@ namespace SabreTools.Serialization.Streams attributeCertificateTable.Add(entry); // Align to the 8-byte boundary - while ((data.Position % 8) != 0 && data.Position < endOffset && data.Position != data.Length) + while ((data.Position % 8) != 0 && data.Position < endOffset && data.Position < data.Length) _ = data.ReadByteValue(); }