From 5dcb36e7af4bd65211ac4937e5e7feac8c85683c Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 27 Jun 2023 17:11:06 +0200 Subject: Fix snapshot crashes We did not handle multiple components properly, add a contrib component to the test case. --- apt-pkg/deb/debmetaindex.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index 744a5cab7..3fef976e9 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -1158,6 +1158,8 @@ class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type /*{{{*/ std::transform(Options.begin(), Options.end(), std::back_inserter(ret), [](auto &&O) { return O.first; }); std::sort(ret.begin(), ret.end()); + auto r = std::remove(ret.begin(), ret.end(), "SHADOWED"); + ret.erase(r, ret.end()); return ret; } @@ -1315,7 +1317,7 @@ class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type /*{{{*/ std::string filename; // The Release file and config based on that should be the ultimate source of truth. - if (ReleaseFileName(Deb, filename)) + if (Deb && ReleaseFileName(Deb, filename)) { auto OldDeb = dynamic_cast(Deb->UnloadedClone()); if (not OldDeb->Load(filename, nullptr)) -- cgit v1.2.3-18-g5258