aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library/PathManager.cs
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2026-07-25 12:52:11 -0400
committerGitHub <noreply@github.com>2026-07-25 12:52:11 -0400
commit86ac1aaa6b69ed34f0b438167b4d01f1ddae0c4d (patch)
tree11c5d428be96cb34f7a9cc6ca3918b4566650219 /Emby.Server.Implementations/Library/PathManager.cs
parent1bfbad24200e89273464d6aabcbb1d36ac1813df (diff)
parent45ec0ed8b5cd92226ff7767d654dd93b1a2036f5 (diff)
Merge branch 'master' into fix/create_library_thumbs_on_first_scan
Diffstat (limited to 'Emby.Server.Implementations/Library/PathManager.cs')
-rw-r--r--Emby.Server.Implementations/Library/PathManager.cs15
1 files changed, 14 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Library/PathManager.cs b/Emby.Server.Implementations/Library/PathManager.cs
index fad948ad97..2a50fcc7fe 100644
--- a/Emby.Server.Implementations/Library/PathManager.cs
+++ b/Emby.Server.Implementations/Library/PathManager.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
+using Jellyfin.Extensions;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
@@ -43,7 +44,19 @@ public class PathManager : IPathManager
public string? GetAttachmentPath(string mediaSourceId, string fileName)
{
var folder = GetAttachmentFolderPath(mediaSourceId);
- return folder is null ? null : Path.Combine(folder, fileName);
+ if (folder is null)
+ {
+ return null;
+ }
+
+ var safeName = PathHelper.GetSafeLeafFileName(fileName);
+ if (safeName is null)
+ {
+ _logger.LogWarning("Rejecting attachment filename '{FileName}' for MediaSource {MediaSourceId}: not a valid leaf name.", fileName, mediaSourceId);
+ return null;
+ }
+
+ return Path.Combine(folder, safeName);
}
/// <inheritdoc />