Sfoglia il codice sorgente

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

David Kalnischkies 14 anni fa
parent
commit
c0d58f4276
1 ha cambiato i file con 2 aggiunte e 2 eliminazioni
  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);