From 243cdec07e745b0b6cae6537580ccdb4985c3c52 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Tue, 7 Aug 2018 20:19:04 -0400 Subject: [PATCH] Adds symlink detection to DeleteDirectory --- src/Tgstation.Server.Host/IO/DefaultIOManager.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/IO/DefaultIOManager.cs b/src/Tgstation.Server.Host/IO/DefaultIOManager.cs index c33e46aca8..95a512d017 100644 --- a/src/Tgstation.Server.Host/IO/DefaultIOManager.cs +++ b/src/Tgstation.Server.Host/IO/DefaultIOManager.cs @@ -34,7 +34,11 @@ namespace Tgstation.Server.Host.IO foreach (var subDir in dir.EnumerateDirectories()) { cancellationToken.ThrowIfCancellationRequested(); - tasks.Add(NormalizeAndDelete(subDir, cancellationToken)); + if (!subDir.Attributes.HasFlag(FileAttributes.Directory) || subDir.Attributes.HasFlag(FileAttributes.ReparsePoint)) + //this is probably a symlink + subDir.Delete(); + else + tasks.Add(NormalizeAndDelete(subDir, cancellationToken)); } foreach (var file in dir.EnumerateFiles()) {