From da73221cef8dcd99f09ce04b7856a6f0646b26ed Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Wed, 24 Oct 2018 20:43:52 -0700 Subject: [PATCH] Fixed: Handling of poorly formed items when parsing results from indexer --- src/NzbDrone.Core/Indexers/RssParser.cs | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/RssParser.cs b/src/NzbDrone.Core/Indexers/RssParser.cs index b9bfa7000..3f225da49 100644 --- a/src/NzbDrone.Core/Indexers/RssParser.cs +++ b/src/NzbDrone.Core/Indexers/RssParser.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.IO; @@ -253,12 +253,25 @@ namespace NzbDrone.Core.Indexers protected virtual RssEnclosure[] GetEnclosures(XElement item) { var enclosures = item.Elements("enclosure") - .Select(v => new RssEnclosure + .Select(v => { - Url = v.Attribute("url").Value, - Type = v.Attribute("type").Value, - Length = (long)v.Attribute("length") + try + { + return new RssEnclosure + { + Url = v.Attribute("url").Value, + Type = v.Attribute("type").Value, + Length = (long)v.Attribute("length") + }; + } + catch (Exception e) + { + _logger.Warn(e, "Failed to get enclosure for: {0}", item.Title()); + } + + return null; }) + .Where(v => v != null) .ToArray(); return enclosures;