Browse Source

Backport pull request #15548 from jellyfin/release-10.11.z

Fix NullReferenceException in filesystem path comparison

Original-merge: 5ae444d96d473ba42c4a812c3f366b0faa6ebef4

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
theguymadmax 2 days ago
parent
commit
e4daaf0d83
1 changed files with 11 additions and 2 deletions
  1. 11 2
      Emby.Server.Implementations/IO/ManagedFileSystem.cs

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

@@ -497,8 +497,17 @@ namespace Emby.Server.Implementations.IO
         /// <inheritdoc />
         /// <inheritdoc />
         public virtual bool AreEqual(string path1, string path2)
         public virtual bool AreEqual(string path1, string path2)
         {
         {
-            return Path.TrimEndingDirectorySeparator(path1).Equals(
-                Path.TrimEndingDirectorySeparator(path2),
+            if (string.IsNullOrWhiteSpace(path1) || string.IsNullOrWhiteSpace(path2))
+            {
+                return false;
+            }
+
+            var normalized1 = Path.TrimEndingDirectorySeparator(path1);
+            var normalized2 = Path.TrimEndingDirectorySeparator(path2);
+
+            return string.Equals(
+                normalized1,
+                normalized2,
                 _isEnvironmentCaseInsensitive ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
                 _isEnvironmentCaseInsensitive ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
         }
         }