From 18ccc85f02325ac87ee13bb96c92594fcfda5ea4 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 14 Aug 2016 12:13:59 +0200 Subject: check internal redirections for loops, too Now that we have the redirections loopchecker centrally in our items we can use it also to prevent internal redirections to loop caused by bugs as in a few instances we get into the business of rewriting the URI we will query by ourself as we predict we would see such a redirect anyway. Our code has no bugs of course, hence no practical difference. ;) Gbp-Dch: Ignore --- apt-pkg/acquire-item.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'apt-pkg/acquire-item.cc') diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index f13d2f6ae..623ea7518 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -991,6 +991,9 @@ std::string pkgAcquire::Item::HashSum() const /*{{{*/ /*}}}*/ bool pkgAcquire::Item::IsRedirectionLoop(std::string const &NewURI) /*{{{*/ { + // store can fail due to permission errors and the item will "loop" then + if (APT::String::Startswith(NewURI, "store:")) + return false; if (d->PastRedirections.empty()) { d->PastRedirections.push_back(NewURI); -- cgit v1.2.3-70-g09d2