diff --git a/src/BinSkim.Rules/PERules/BA2004.EnableSecureSourceCodeHashing.cs b/src/BinSkim.Rules/PERules/BA2004.EnableSecureSourceCodeHashing.cs index 079d652a..26d47221 100644 --- a/src/BinSkim.Rules/PERules/BA2004.EnableSecureSourceCodeHashing.cs +++ b/src/BinSkim.Rules/PERules/BA2004.EnableSecureSourceCodeHashing.cs @@ -252,17 +252,20 @@ private void GenerateCompilandsAndLog(BinaryAnalyzerContext context, Dictionary< compilandsWithOneOrMoreInsecureFileHashes.Remove(HashType.None); } - string[] messages = new string[compilandsWithOneOrMoreInsecureFileHashes.Count]; - - int hashTypeCount = 0; - foreach (HashType hashType in compilandsWithOneOrMoreInsecureFileHashes.Keys) + if (compilandsWithOneOrMoreInsecureFileHashes.Count > 0) { - objectModuleDetails = compilandsWithOneOrMoreInsecureFileHashes[hashType]; - messages[hashTypeCount++] = objectModuleDetails.CreateOutputCoalescedByCompiler(hashType.ToString()); - } + string[] messages = new string[compilandsWithOneOrMoreInsecureFileHashes.Count]; + + int hashTypeCount = 0; + foreach (HashType hashType in compilandsWithOneOrMoreInsecureFileHashes.Keys) + { + objectModuleDetails = compilandsWithOneOrMoreInsecureFileHashes[hashType]; + messages[hashTypeCount++] = objectModuleDetails.CreateOutputCoalescedByCompiler(hashType.ToString()); + } - message = string.Join(Environment.NewLine, messages); - GenerateCompilandsAndLog(context, message, failureLevel); + message = string.Join(Environment.NewLine, messages); + GenerateCompilandsAndLog(context, message, failureLevel); + } } private void GenerateCompilandsAndLog(BinaryAnalyzerContext context, string message, FailureLevel failureLevel)