From 86ec97678e3300f061bfecd46c704bcf93478335 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 2 Sep 2025 14:45:00 -0400 Subject: [PATCH] Prep for a different tomorrow --- .../Deserializers/WiseSectionHeader.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/SabreTools.Serialization/Deserializers/WiseSectionHeader.cs b/SabreTools.Serialization/Deserializers/WiseSectionHeader.cs index cac0c9fc..904c1e14 100644 --- a/SabreTools.Serialization/Deserializers/WiseSectionHeader.cs +++ b/SabreTools.Serialization/Deserializers/WiseSectionHeader.cs @@ -28,7 +28,7 @@ namespace SabreTools.Serialization.Deserializers // Main MSI file // If these go wrong, then there actually is a major issue, and the fallback won't work. - if (header.MsiFileEntryLength == 0) + if (header.MsiFileEntryLength == 0) return null; else if (header.MsiFileEntryLength >= data.Length) return null; @@ -125,8 +125,12 @@ namespace SabreTools.Serialization.Deserializers obj.UnknownValue18 = data.ReadUInt32LittleEndian(); } - // Seek to the WIS string offset - data.Seek(initialOffset + wisOffset, SeekOrigin.Begin); + // If the WIS string has not been hit, read the padding bytes + if (data.Position < initialOffset + wisOffset) + { + int paddingLength = (int)(initialOffset + wisOffset - data.Position); + _ = data.ReadBytes(paddingLength); + } // Read the consistent strings obj.TmpString = data.ReadNullTerminatedAnsiString();