From bd059dfb599d2337c06b4123737090b5f14b9930 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Wed, 22 Jul 2020 20:53:29 +0200 Subject: [PATCH] Fix #2075: IndexOutOfRange exception in PEFile.GetRuntime() --- ICSharpCode.Decompiler/Metadata/PEFile.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ICSharpCode.Decompiler/Metadata/PEFile.cs b/ICSharpCode.Decompiler/Metadata/PEFile.cs index c261dbb5e..9b69c8a9a 100644 --- a/ICSharpCode.Decompiler/Metadata/PEFile.cs +++ b/ICSharpCode.Decompiler/Metadata/PEFile.cs @@ -75,8 +75,12 @@ namespace ICSharpCode.Decompiler.Metadata public TargetRuntime GetRuntime() { string version = Metadata.MetadataVersion; + if (version == null || version.Length <= 1) + return TargetRuntime.Unknown; switch (version[1]) { case '1': + if (version.Length <= 3) + return TargetRuntime.Unknown; if (version[3] == 1) return TargetRuntime.Net_1_0; else