]> git.saurik.com Git - apt.git/commitdiff
* apt-pkg/contrib/fileutl.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 9 May 2012 17:16:39 +0000 (19:16 +0200)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Wed, 9 May 2012 17:16:39 +0000 (19:16 +0200)
  - check that the fd which are closed are valid

apt-pkg/contrib/fileutl.cc
debian/changelog

index e9d1ba1ce0af72b0274935573fc084961c135915..1cf2253298929df90888ce97fa30b93c5bc19fbb 100644 (file)
@@ -1065,7 +1065,10 @@ bool FileFd::OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C
       // We don't need the file open - instead let the compressor open it
       // as he properly knows better how to efficiently read from 'his' file
       if (FileName.empty() == false)
+      {
         close(iFd);
+        iFd = -1;
+      }
    }
 
    // Create a data pipe
@@ -1133,7 +1136,7 @@ bool FileFd::OpenInternDescriptor(unsigned int const Mode, APT::Configuration::C
       close(Pipe[0]);
    else
       close(Pipe[1]);
-   if (Comp == true || FileName.empty() == true)
+   if ((Comp == true || FileName.empty() == true) && d->compressed_fd != -1)
       close(d->compressed_fd);
 
    return true;
@@ -1355,8 +1358,9 @@ bool FileFd::Seek(unsigned long long To)
       if (d->bz2 != NULL)
         BZ2_bzclose(d->bz2);
 #endif
-      close(iFd);
-      iFd = 0;
+      if (iFd != -1)
+        close(iFd);
+      iFd = -1;
       if (TemporaryFileName.empty() == false)
         iFd = open(TemporaryFileName.c_str(), O_RDONLY);
       else if (FileName.empty() == false)
index ad3f5c8949fe3540eed44de96907618d286d4312..022eac529ccca8fa495925896ad0b149dee91bd0 100644 (file)
@@ -1,4 +1,4 @@
-apt (0.9.3) unstable; urgency=low
+apt (0.9.3) UNRELEASED; urgency=low
 
   [ David Kalnischkies ]
   * apt-pkg/contrib/strutl.cc:
@@ -38,6 +38,8 @@ apt (0.9.3) unstable; urgency=low
     - revert the use of FileFd::Write in OutFdReady as we don't want error
       reports about EAGAIN here as we retry later. Thanks to YOSHINO Yoshihito
       for the report. (Closes: #671721)
+  * apt-pkg/contrib/fileutl.cc:
+    - check that the fd which are closed are valid
 
  -- David Kalnischkies <kalnischkies@gmail.com>  Mon, 07 May 2012 21:12:23 +0200