|
@@ -207,7 +207,7 @@ namespace MediaBrowser.Providers.Subtitles
|
|
|
{
|
|
|
var mediaFolderPath = Path.GetFullPath(Path.Combine(video.ContainingFolderPath, saveFileName));
|
|
|
// TODO: Add some error handling to the API user: return BadRequest("Could not save subtitle, bad path.");
|
|
|
- if (mediaFolderPath.StartsWith(video.ContainingFolderPath))
|
|
|
+ if (mediaFolderPath.StartsWith(video.ContainingFolderPath, StringComparison.Ordinal))
|
|
|
{
|
|
|
savePaths.Add(mediaFolderPath);
|
|
|
}
|
|
@@ -216,7 +216,7 @@ namespace MediaBrowser.Providers.Subtitles
|
|
|
var internalPath = Path.GetFullPath(Path.Combine(video.GetInternalMetadataPath(), saveFileName));
|
|
|
|
|
|
// TODO: Add some error to the user: return BadRequest("Could not save subtitle, bad path.");
|
|
|
- if (internalPath.StartsWith(video.GetInternalMetadataPath()))
|
|
|
+ if (internalPath.StartsWith(video.GetInternalMetadataPath(), StringComparison.Ordinal))
|
|
|
{
|
|
|
savePaths.Add(internalPath);
|
|
|
}
|
|
@@ -234,7 +234,7 @@ namespace MediaBrowser.Providers.Subtitles
|
|
|
|
|
|
private async Task TrySaveToFiles(Stream stream, List<string> savePaths)
|
|
|
{
|
|
|
- Exception exceptionToThrow = null;
|
|
|
+ List<Exception> exs = null;
|
|
|
|
|
|
foreach (var savePath in savePaths)
|
|
|
{
|
|
@@ -256,7 +256,7 @@ namespace MediaBrowser.Providers.Subtitles
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
- exceptionToThrow ??= ex;
|
|
|
+ (exs ??= new List<Exception>()).Add(ex);
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
@@ -266,9 +266,9 @@ namespace MediaBrowser.Providers.Subtitles
|
|
|
stream.Position = 0;
|
|
|
}
|
|
|
|
|
|
- if (exceptionToThrow != null)
|
|
|
+ if (exs != null)
|
|
|
{
|
|
|
- throw exceptionToThrow;
|
|
|
+ throw new AggregateException(exs);
|
|
|
}
|
|
|
}
|
|
|
|