]> git.saurik.com Git - apt.git/blobdiff - methods/copy.cc
DropPrivs: Move the re-set uid/gid thing to the end of the function
[apt.git] / methods / copy.cc
index 5570f31c80f467d2416359f3b4ca55efd568dd6e..3883c822b2417a6f8a72f6a94a84b6f27188f51f 100644 (file)
@@ -55,8 +55,8 @@ void CopyMethod::CalculateHashes(FetchResult &Res)
 /* */
 bool CopyMethod::Fetch(FetchItem *Itm)
 {
 /* */
 bool CopyMethod::Fetch(FetchItem *Itm)
 {
-   URI Get = Itm->Uri;
-   std::string File = Get.Path;
+   // this ensures that relative paths work in copy
+   std::string File = Itm->Uri.substr(Itm->Uri.find(':')+1);
 
    // Stat the file and send a start message
    struct stat Buf;
 
    // Stat the file and send a start message
    struct stat Buf;
@@ -119,5 +119,7 @@ int main()
    setlocale(LC_ALL, "");
 
    CopyMethod Mth;
    setlocale(LC_ALL, "");
 
    CopyMethod Mth;
+
+   Mth.DropPrivsOrDie();
    return Mth.Run();
 }
    return Mth.Run();
 }