2
0
Эх сурвалжийг харах

Merge pull request #5746 from cvium/dangling-symlinks

Bond-009 4 жил өмнө
parent
commit
62117a6c12

+ 11 - 2
Emby.Server.Implementations/IO/ManagedFileSystem.cs

@@ -249,9 +249,18 @@ namespace Emby.Server.Implementations.IO
                     // Issue #2354 get the size of files behind symbolic links
                     // Issue #2354 get the size of files behind symbolic links
                     if (fileInfo.Attributes.HasFlag(FileAttributes.ReparsePoint))
                     if (fileInfo.Attributes.HasFlag(FileAttributes.ReparsePoint))
                     {
                     {
-                        using (Stream thisFileStream = File.OpenRead(fileInfo.FullName))
+                        try
                         {
                         {
-                            result.Length = thisFileStream.Length;
+                            using (Stream thisFileStream = File.OpenRead(fileInfo.FullName))
+                            {
+                                result.Length = thisFileStream.Length;
+                            }
+                        }
+                        catch (FileNotFoundException ex)
+                        {
+                            // Dangling symlinks cannot be detected before opening the file unfortunately...
+                            Logger.LogError(ex, "Reading the file size of the symlink at {Path} failed. Marking the file as not existing.", fileInfo.FullName);
+                            result.Exists = false;
                         }
                         }
                     }
                     }