diff options
| author | Bond-009 <bond.009@outlook.com> | 2021-04-10 23:18:55 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-10 23:18:55 +0200 |
| commit | 62117a6c125f2f35ca3c9d7507f3464482caa7f1 (patch) | |
| tree | f348b822e242857947ccbded83a125ccdcf14411 /Emby.Server.Implementations/IO/ManagedFileSystem.cs | |
| parent | bf510ca04e2db84546286f696844ee2221e08efb (diff) | |
| parent | f99237cf9b7c2c33c18fefafe79d50b5b414781f (diff) | |
Merge pull request #5746 from cvium/dangling-symlinks
Diffstat (limited to 'Emby.Server.Implementations/IO/ManagedFileSystem.cs')
| -rw-r--r-- | Emby.Server.Implementations/IO/ManagedFileSystem.cs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Emby.Server.Implementations/IO/ManagedFileSystem.cs b/Emby.Server.Implementations/IO/ManagedFileSystem.cs index 679795dd2..3893a1577 100644 --- a/Emby.Server.Implementations/IO/ManagedFileSystem.cs +++ b/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 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; } } |
