diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-05-20 09:37:24 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-05-20 19:48:33 +0200 |
commit | cde5b485c9cdf0bfd5b6ea8e4973abe378270e60 (patch) | |
tree | 7b6de7936e1fe5a1f05aa012a6dac475f4a40ef3 /apt-pkg/cachefile.cc | |
parent | 235347e50c61be5e1813c1a3bbcdd98e61ae57a7 (diff) |
fail instead of segfault on unreadable config files
The report mentions "apt list --upgradable", but there are others which
have inconsistent behavior ranging from segfaulting to doing something
with the partial (and hence incomplete) data. We had a recent report
about sources.list (#818628), this one mentions prefences, the obvious
next step is conf files… so the testcase is adapted to check for all
three in file and directory versions and run a bunch of commands each
time which should all have more or less the same behavior in such a case
(aka error out).
Closes: 824503
(cherry picked from commit fdf9eef4d96a18d0167708499c993e1174251e88)
Diffstat (limited to 'apt-pkg/cachefile.cc')
-rw-r--r-- | apt-pkg/cachefile.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/apt-pkg/cachefile.cc b/apt-pkg/cachefile.cc index 0e2192973..b5f32fc29 100644 --- a/apt-pkg/cachefile.cc +++ b/apt-pkg/cachefile.cc @@ -173,6 +173,9 @@ bool pkgCacheFile::BuildPolicy(OpProgress * /*Progress*/) /* */ bool pkgCacheFile::BuildDepCache(OpProgress *Progress) { + if (BuildCaches(Progress, false) == false) + return false; + std::unique_ptr<pkgDepCache> DCache; if (this->DCache != NULL) return true; |