]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/cachefile.cc
debian/gbp.conf: point debian-branch to master
[apt.git] / apt-pkg / cachefile.cc
index 1c9bc694b68e1e899afbbf4301f26687fe17657b..39f1e72dbb5396a205be0b0c1e3b39113fcdc8eb 100644 (file)
@@ -80,6 +80,8 @@ bool pkgCacheFile::BuildCaches(OpProgress *Progress, bool WithLock)
       if (file.IsOpen() == false || file.Failed())
         return false;
       Map = new MMap(file, MMap::Public|MMap::ReadOnly);
+      if (unlikely(Map->validData() == false))
+        return false;
       Cache = new pkgCache(Map);
       return _error->PendingError() == false;
    }
@@ -191,9 +193,9 @@ void pkgCacheFile::RemoveCaches()
    std::string const srcpkgcache = _config->FindFile("Dir::cache::srcpkgcache");
 
    if (pkgcache.empty() == false && RealFileExists(pkgcache) == true)
-      unlink(pkgcache.c_str());
+      RemoveFile("RemoveCaches", pkgcache);
    if (srcpkgcache.empty() == false && RealFileExists(srcpkgcache) == true)
-      unlink(srcpkgcache.c_str());
+      RemoveFile("RemoveCaches", srcpkgcache);
    if (pkgcache.empty() == false)
    {
       std::string cachedir = flNotFile(pkgcache);
@@ -207,7 +209,7 @@ void pkgCacheFile::RemoveCaches()
            std::string nuke = flNotDir(*file);
            if (strncmp(cachefile.c_str(), nuke.c_str(), cachefile.length()) != 0)
               continue;
-           unlink(file->c_str());
+           RemoveFile("RemoveCaches", *file);
         }
       }
    }
@@ -226,7 +228,7 @@ void pkgCacheFile::RemoveCaches()
       std::string nuke = flNotDir(*file);
       if (strncmp(cachefile.c_str(), nuke.c_str(), cachefile.length()) != 0)
         continue;
-      unlink(file->c_str());
+      RemoveFile("RemoveCaches", *file);
    }
 }
                                                                        /*}}}*/