Преглед изворни кода

gpgv: Unlink the correct temp file in error case

Previously, when data could be created and sig not, we would unlink
sig, not data (and vice versa).
Julian Andres Klode пре 10 година
родитељ
комит
d0d06f44ed
1 измењених фајлова са 4 додато и 4 уклоњено
  1. 4 4
      apt-pkg/contrib/gpgv.cc

+ 4 - 4
apt-pkg/contrib/gpgv.cc

@@ -118,9 +118,9 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG,
       if (sigFd == -1 || dataFd == -1)
       if (sigFd == -1 || dataFd == -1)
       {
       {
 	 if (dataFd != -1)
 	 if (dataFd != -1)
-	    unlink(sig);
-	 if (sigFd != -1)
 	    unlink(data);
 	    unlink(data);
+	 if (sigFd != -1)
+	    unlink(sig);
 	 ioprintf(std::cerr, "Couldn't create tempfiles for splitting up %s", File.c_str());
 	 ioprintf(std::cerr, "Couldn't create tempfiles for splitting up %s", File.c_str());
 	 exit(EINTERNAL);
 	 exit(EINTERNAL);
       }
       }
@@ -134,9 +134,9 @@ void ExecGPGV(std::string const &File, std::string const &FileGPG,
 	    SplitClearSignedFile(File, &message, &dataHeader, &signature) == false)
 	    SplitClearSignedFile(File, &message, &dataHeader, &signature) == false)
       {
       {
 	 if (dataFd != -1)
 	 if (dataFd != -1)
-	    unlink(sig);
-	 if (sigFd != -1)
 	    unlink(data);
 	    unlink(data);
+	 if (sigFd != -1)
+	    unlink(sig);
 	 ioprintf(std::cerr, "Splitting up %s into data and signature failed", File.c_str());
 	 ioprintf(std::cerr, "Splitting up %s into data and signature failed", File.c_str());
 	 exit(112);
 	 exit(112);
       }
       }