From 400b0d7e7596662a2efaa2a88f454f0accde8308 Mon Sep 17 00:00:00 2001 From: Dan Leinir Turthra Jensen Date: Tue, 5 Feb 2019 16:42:00 +0000 Subject: [PATCH] Don't accept invalid KNS EntryInternal results In certain cases we might end up with invalid results being returned by a KNS source. These entries should be considered undesirable, and consequently filtered out. Differential Revision: https://phabricator.kde.org/D18760 --- libdiscover/backends/KNSBackend/KNSBackend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libdiscover/backends/KNSBackend/KNSBackend.cpp b/libdiscover/backends/KNSBackend/KNSBackend.cpp index 21704ec0..f5c01357 100644 --- a/libdiscover/backends/KNSBackend/KNSBackend.cpp +++ b/libdiscover/backends/KNSBackend/KNSBackend.cpp @@ -221,7 +221,8 @@ void KNSBackend::receivedEntries(const KNSCore::EntryInternal::List& entries) { m_responsePending = false; - const auto resources = kTransform>(entries, [this](const KNSCore::EntryInternal& entry){ return resourceForEntry(entry); }); + const auto filtered = kFilter(entries, [this](const KNSCore::EntryInternal& entry){ return entry.isValid(); }); + const auto resources = kTransform>(filtered, [this](const KNSCore::EntryInternal& entry){ return resourceForEntry(entry); }); if (!resources.isEmpty()) { Q_EMIT receivedResources(resources); } else { -- GitLab