From cf9d87a7d86922c94cf7e1008579f55b39359e57 Mon Sep 17 00:00:00 2001 From: chibidev Date: Mon, 26 Jun 2017 19:46:14 +0200 Subject: [PATCH] Bugfix/1471 aggregate exception when fallback (#1504) * Line endings... * Fixes an issue when the aggregate doesn't require fallback Apparently operating on null with LINQ is not safe :) - This fixes Jackett/Jackett#1471 --- src/Jackett/Indexers/Meta/BaseMetaIndexer.cs | 21 +++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Jackett/Indexers/Meta/BaseMetaIndexer.cs b/src/Jackett/Indexers/Meta/BaseMetaIndexer.cs index c13bcdf79..64e16edbd 100644 --- a/src/Jackett/Indexers/Meta/BaseMetaIndexer.cs +++ b/src/Jackett/Indexers/Meta/BaseMetaIndexer.cs @@ -77,15 +77,18 @@ namespace Jackett.Indexers.Meta logger.Error(aggregateTask.Exception, "Error during request in metaindexer " + ID); } - var unorderedResult = tasks.Where(x => x.Status == TaskStatus.RanToCompletion).SelectMany(x => x.Result); - var orderedResult = unorderedResult.Where(r => { - var normalizedTitles = fallbackTitles.Concat(fallbackTitles.Select(t => t.Replace(' ', '.').Replace(":", ""))).Select(t => t.ToLowerInvariant()); - foreach (var title in normalizedTitles) { - if (r.Title.ToLowerInvariant().Contains(title)) - return true; - } - return false; - }).OrderByDescending(r => r.Gain); + var unorderedResult = tasks.Where(x => x.Status == TaskStatus.RanToCompletion).SelectMany(x => x.Result);; + if (needFallback) { + unorderedResult = unorderedResult.Where (r => { + var normalizedTitles = fallbackTitles.Concat (fallbackTitles.Select (t => t.Replace (' ', '.').Replace (":", ""))).Select (t => t.ToLowerInvariant ()); + foreach (var title in normalizedTitles) { + if (r.Title.ToLowerInvariant ().Contains (title)) + return true; + } + return false; + }); + } + var orderedResult = unorderedResult.OrderByDescending(r => r.Gain); var filteredResult = orderedResult.Where(r => { if (r.Imdb != null) {