mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 10:46:33 +02:00
[PTRun][Program]Avoid loops due to symlinks (#14676)
This commit is contained in:
@@ -670,7 +670,13 @@ namespace Microsoft.Plugin.Program.Programs
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var childDirectory in Directory.EnumerateDirectories(currentDirectory, "*", SearchOption.TopDirectoryOnly))
|
foreach (var childDirectory in Directory.EnumerateDirectories(currentDirectory, "*", new EnumerationOptions()
|
||||||
|
{
|
||||||
|
// https://docs.microsoft.com/en-us/dotnet/api/system.io.enumerationoptions?view=net-6.0
|
||||||
|
// Exclude directories with the Reparse Point file attribute, to avoid loops due to symbolic links / directory junction / mount points.
|
||||||
|
AttributesToSkip = FileAttributes.Hidden | FileAttributes.System | FileAttributes.ReparsePoint,
|
||||||
|
RecurseSubdirectories = false,
|
||||||
|
}))
|
||||||
{
|
{
|
||||||
folderQueue.Enqueue(childDirectory);
|
folderQueue.Enqueue(childDirectory);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user