[PTRun][Program] Avoid looping on folder cycles (#13685)

This commit is contained in:
Jaime Bernardo
2021-10-11 10:43:56 +01:00
committed by GitHub
parent 2c58475d61
commit 6705fb453e

View File

@@ -625,9 +625,20 @@ namespace Microsoft.Plugin.Program.Programs
var folderQueue = new Queue<string>();
folderQueue.Enqueue(directory);
// Keep track of already visited directories to avoid cycles.
var alreadyVisited = new HashSet<string>();
do
{
var currentDirectory = folderQueue.Dequeue();
if (alreadyVisited.Contains(currentDirectory))
{
continue;
}
alreadyVisited.Add(currentDirectory);
try
{
foreach (var suffix in suffixes)