summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2016-11-29 23:58:01 -0800
committerSam Bingner <sam@bingner.com>2020-07-17 00:22:23 -1000
commitaf440e7945c774ced305807d08418bd9cecc7c73 (patch)
tree462fa3bf73e0206a1b0801e5079e499bdeaff8f4 /apt-pkg/deb
parent5d4b12c21032486d7f1d71bbbed9c543e8a15aa3 (diff)
Avoid wedging the entire system if recoverable :/.
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/deblistparser.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc
index 01fdf0079..91252da5e 100644
--- a/apt-pkg/deb/deblistparser.cc
+++ b/apt-pkg/deb/deblistparser.cc
@@ -860,8 +860,10 @@ bool debListParser::ParseDepends(pkgCache::VerIterator &Ver,
unsigned int Op;
Start = ParseDepends(Start, Stop, Package, Version, Op, false, false, false, myArch);
- if (Start == 0)
- return _error->Error("Problem parsing dependency %zu",static_cast<size_t>(Key)); // TODO
+ if (Start == 0) {
+ _error->Warning("Problem parsing dependency %zu",static_cast<size_t>(Key)); // TODO
+ continue;
+ }
size_t const found = Package.rfind(':');
if (found == string::npos)
@@ -928,8 +930,10 @@ bool debListParser::ParseProvides(pkgCache::VerIterator &Ver)
{
Start = ParseDepends(Start,Stop,Package,Version,Op, false, false, false);
const size_t archfound = Package.rfind(':');
- if (Start == 0)
- return _error->Error("Problem parsing Provides line");
+ if (Start == 0) {
+ _error->Warning("Problem parsing Provides line");
+ continue;
+ }
if (unlikely(Op != pkgCache::Dep::NoOp && Op != pkgCache::Dep::Equals)) {
_error->Warning("Ignoring Provides line with non-equal DepCompareOp for package %s", Package.to_string().c_str());
} else if (archfound != string::npos) {