From c4e8debb15ffe3a76b9ac5baf9263b6fe291bb55 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 2 Apr 2024 12:35:14 -0400 Subject: [PATCH] Detect invalid dialog item counts (fixes #5) --- SabreTools.Serialization/Extensions.PortableExecutable.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/SabreTools.Serialization/Extensions.PortableExecutable.cs b/SabreTools.Serialization/Extensions.PortableExecutable.cs index fc1abfca..b1604ead 100644 --- a/SabreTools.Serialization/Extensions.PortableExecutable.cs +++ b/SabreTools.Serialization/Extensions.PortableExecutable.cs @@ -561,6 +561,10 @@ namespace SabreTools.Serialization } dialogItemExtendedTemplates.Add(dialogItemTemplate); + + // If we have an invalid item count + if (offset >= entry.Data.Length) + break; } dialogBoxResource.ExtendedDialogItemTemplates = [.. dialogItemExtendedTemplates]; @@ -805,6 +809,10 @@ namespace SabreTools.Serialization } dialogItemTemplates.Add(dialogItemTemplate); + + // If we have an invalid item count + if (offset >= entry.Data.Length) + break; } dialogBoxResource.DialogItemTemplates = [.. dialogItemTemplates];