]> git.saurik.com Git - apt.git/blobdiff - methods/copy.cc
You have to do the bounds check before the access.
[apt.git] / methods / copy.cc
index 5e36543897eb244637ad86c2d114d1902db5894d..810fc2f38356612649fd8d58e14b275639773262 100644 (file)
@@ -78,13 +78,8 @@ bool CopyMethod::Fetch(FetchItem *Itm)
    From.Close();
    To.Close();
 
    From.Close();
    To.Close();
 
-   // Transfer the modification times
-   struct timeval times[2];
-   times[0].tv_sec = Buf.st_atime;
-   times[1].tv_sec = Buf.st_mtime;
-   times[0].tv_usec = times[1].tv_usec = 0;
-   if (utimes(Res.Filename.c_str(), times) != 0)
-      return _error->Errno("utimes",_("Failed to set modification time"));
+   if (TransferModificationTimes(File.c_str(), Res.Filename.c_str(), Res.LastModified) == false)
+      return false;
 
    CalculateHashes(Itm, Res);
    URIDone(Res);
 
    CalculateHashes(Itm, Res);
    URIDone(Res);