From 499fc4400466fe6e32305f760778e1435fbccd32 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Sun, 7 Jun 2026 21:56:17 -0400 Subject: [PATCH] Ensure a 2-byte read is possible --- SabreTools.Wrappers/PortableExecutable.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SabreTools.Wrappers/PortableExecutable.cs b/SabreTools.Wrappers/PortableExecutable.cs index 67a2aea7..c425540a 100644 --- a/SabreTools.Wrappers/PortableExecutable.cs +++ b/SabreTools.Wrappers/PortableExecutable.cs @@ -1798,7 +1798,7 @@ namespace SabreTools.Wrappers // Search the resource table data for the offset long resourceOffset = -1; _dataSource.SeekIfPossible(resourceTableOffset, SeekOrigin.Begin); - while (_dataSource.Position < resourceTableOffset + OptionalHeader.ResourceTable.Size && _dataSource.Position < _dataSource.Length) + while (_dataSource.Position < resourceTableOffset + OptionalHeader.ResourceTable.Size && _dataSource.Position < _dataSource.Length - 1) { ushort possibleSignature = _dataSource.ReadUInt16LittleEndian(); if (possibleSignature == Data.Models.MSDOS.Constants.SignatureUInt16)