From 4f374ee8853ca15ab44264de9716c5692bb6dc4c Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Wed, 8 May 2024 12:02:48 -0400 Subject: [PATCH] Only read resources that are valid --- SabreTools.Serialization/Deserializers/PortableExecutable.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SabreTools.Serialization/Deserializers/PortableExecutable.cs b/SabreTools.Serialization/Deserializers/PortableExecutable.cs index 05d9c159..f3a045a2 100644 --- a/SabreTools.Serialization/Deserializers/PortableExecutable.cs +++ b/SabreTools.Serialization/Deserializers/PortableExecutable.cs @@ -1194,7 +1194,7 @@ namespace SabreTools.Serialization.Deserializers // Read the data from the offset offset = resourceDataEntry.DataRVA.ConvertVirtualAddress(sections); - if (offset > 0 && resourceDataEntry.Size > 0) + if (offset > 0 && resourceDataEntry.Size > 0 && offset + (int)resourceDataEntry.Size < data.Length) { data.Seek(offset, SeekOrigin.Begin); resourceDataEntry.Data = data.ReadBytes((int)resourceDataEntry.Size);