From 5d07bad6105eb1b7c158c502fe89803e120be064 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Wed, 6 Feb 2019 15:01:22 +0100 Subject: Fix crashes in apt search, cache file When BuildDepCaches() is called before BuildCaches() we end up with dereferencing a null pointer cache in the depcache constructor. Furthermore, in private-search, we check that Cache == NULL, but only after constructing the policy and records, which does not work reliably, because the records construction accesses the cache as well. LP: #1815187 Test-Case: ./build/bin/apt search -o RootDir=/dev/null foo --- apt-pkg/cachefile.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'apt-pkg') diff --git a/apt-pkg/cachefile.cc b/apt-pkg/cachefile.cc index 0fd40106f..96bcdc097 100644 --- a/apt-pkg/cachefile.cc +++ b/apt-pkg/cachefile.cc @@ -140,6 +140,8 @@ bool pkgCacheFile::BuildPolicy(OpProgress * /*Progress*/) /* */ bool pkgCacheFile::BuildDepCache(OpProgress *Progress) { + if (BuildCaches(Progress, false) == false) + return false; if (DCache != NULL) return true; -- cgit v1.2.3