aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2022-03-05 12:43:29 -0700
committerGitHub <noreply@github.com>2022-03-05 12:43:29 -0700
commit4791d56f6ce7b1ed5666592739fb3417830be093 (patch)
tree64cffeef9d7e196319864a53d89f52d3c3a0205c
parent947ff9defecfbd7b370c76d1e0eb2cfcb8dbb959 (diff)
parentf7118bebfd0a69c3dc90a5245b1d4d95bb2c900d (diff)
Merge pull request #7403 from 1337joe/fix-external-file-prefix-check
-rw-r--r--MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs3
-rw-r--r--tests/Jellyfin.Providers.Tests/MediaInfo/MediaInfoResolverTests.cs1
2 files changed, 3 insertions, 1 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs
index 933827207..39be405ec 100644
--- a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs
+++ b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs
@@ -166,7 +166,8 @@ namespace MediaBrowser.Providers.MediaInfo
foreach (var file in files)
{
var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file.AsSpan());
- if (prefix.Equals(fileNameWithoutExtension[..prefix.Length], StringComparison.OrdinalIgnoreCase)
+ if (fileNameWithoutExtension.Length >= prefix.Length
+ && prefix.Equals(fileNameWithoutExtension[..prefix.Length], StringComparison.OrdinalIgnoreCase)
&& (fileNameWithoutExtension.Length == prefix.Length || _namingOptions.MediaFlagDelimiters.Contains(fileNameWithoutExtension[prefix.Length])))
{
var externalPathInfo = _externalPathParser.ParseFile(file, fileNameWithoutExtension[prefix.Length..].ToString());
diff --git a/tests/Jellyfin.Providers.Tests/MediaInfo/MediaInfoResolverTests.cs b/tests/Jellyfin.Providers.Tests/MediaInfo/MediaInfoResolverTests.cs
index 9bd02d956..98b4a6ccf 100644
--- a/tests/Jellyfin.Providers.Tests/MediaInfo/MediaInfoResolverTests.cs
+++ b/tests/Jellyfin.Providers.Tests/MediaInfo/MediaInfoResolverTests.cs
@@ -157,6 +157,7 @@ public class MediaInfoResolverTests
}
[Theory]
+ [InlineData("cover.jpg")]
[InlineData("My.Video.mp3")]
[InlineData("My.Video.png")]
[InlineData("My.Video.txt")]