Explorar o código

ensure that the cache-directories are really directories before
trying to get a list of included files from them

David Kalnischkies %!s(int64=14) %!d(string=hai) anos
pai
achega
c0d58f4276
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      apt-pkg/cachefile.cc

+ 2 - 2
apt-pkg/cachefile.cc

@@ -182,7 +182,7 @@ void pkgCacheFile::RemoveCaches()
    {
       std::string cachedir = flNotFile(pkgcache);
       std::string cachefile = flNotDir(pkgcache);
-      if (cachedir.empty() != true && cachefile.empty() != true)
+      if (cachedir.empty() != true && cachefile.empty() != true && DirectoryExists(cachedir) == true)
       {
 	 cachefile.append(".");
 	 std::vector<std::string> caches = GetListOfFilesInDir(cachedir, false);
@@ -201,7 +201,7 @@ void pkgCacheFile::RemoveCaches()
 
    std::string cachedir = flNotFile(srcpkgcache);
    std::string cachefile = flNotDir(srcpkgcache);
-   if (cachedir.empty() == true || cachefile.empty() == true)
+   if (cachedir.empty() == true || cachefile.empty() == true || DirectoryExists(cachedir) == false)
       return;
    cachefile.append(".");
    std::vector<std::string> caches = GetListOfFilesInDir(cachedir, false);