diff --git a/src/NzbDrone.Core/Indexers/TorrentRssParser.cs b/src/NzbDrone.Core/Indexers/TorrentRssParser.cs index 610a132018..b295a8472c 100644 --- a/src/NzbDrone.Core/Indexers/TorrentRssParser.cs +++ b/src/NzbDrone.Core/Indexers/TorrentRssParser.cs @@ -86,6 +86,7 @@ protected virtual string GetInfoHash(XElement item) } catch { + // Invalid magnet URL format - fall through to return null } } diff --git a/src/Radarr.Http/Frontend/Mappers/CacheBreakerProvider.cs b/src/Radarr.Http/Frontend/Mappers/CacheBreakerProvider.cs index 1ae8d8cfa6..66f77f29ca 100644 --- a/src/Radarr.Http/Frontend/Mappers/CacheBreakerProvider.cs +++ b/src/Radarr.Http/Frontend/Mappers/CacheBreakerProvider.cs @@ -35,7 +35,13 @@ public string AddCacheBreakerToPath(string resourceUrl) return resourceUrl + "?t=" + DateTime.UtcNow.Ticks; } - var mapper = _diskMappers.Single(m => m.CanHandle(resourceUrl)); + var mapper = _diskMappers.SingleOrDefault(m => m.CanHandle(resourceUrl)); + + if (mapper == null) + { + return resourceUrl; + } + var pathToFile = mapper.Map(resourceUrl); var hash = _hashProvider.ComputeMd5(pathToFile).ToBase64();