Просмотр исходного кода

* methods/{gzip,bzip2}.cc:
- empty files can never be valid archives (Closes: #595691)

David Kalnischkies лет назад: 16
Родитель
Сommit
cf1cdb3328
3 измененных файлов с 9 добавлено и 13 удалено
  1. 3 1
      debian/changelog
  2. 3 6
      methods/bzip2.cc
  3. 3 6
      methods/gzip.cc

+ 3 - 1
debian/changelog

@@ -13,8 +13,10 @@ apt (0.8.2) UNRELEASED; urgency=low
   * cmdline/apt-key:
     - support also Dir::Etc::Trusted so that apt-key works in the same
       way as the library part which works with the trusted files
+  * methods/{gzip,bzip2}.cc:
+    - empty files can never be valid archives (Closes: #595691)
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 04 Sep 2010 15:25:10 +0200
+ -- David Kalnischkies <kalnischkies@gmail.com>  Mon, 06 Sep 2010 12:16:58 +0200
 
 apt (0.8.1) unstable; urgency=low
 

+ 3 - 6
methods/bzip2.cc

@@ -56,12 +56,9 @@ bool Bzip2Method::Fetch(FetchItem *Itm)
    // Open the source and destination files
    FileFd From(Path,FileFd::ReadOnly);
 
-   // if the file is empty, just rename it and return
-   if(From.Size() == 0) 
-   {
-      rename(Path.c_str(), Itm->DestFile.c_str());
-      return true;
-   }
+   // FIXME add an error message saying that empty files can't be valid archives
+   if(From.Size() == 0)
+      return false;
 
    int GzOut[2];   
    if (pipe(GzOut) < 0)

+ 3 - 6
methods/gzip.cc

@@ -48,12 +48,9 @@ bool GzipMethod::Fetch(FetchItem *Itm)
    // Open the source and destination files
    FileFd From(Path,FileFd::ReadOnlyGzip);
 
-   // if the file is empty, just rename it and return
-   if(From.Size() == 0) 
-   {
-      rename(Path.c_str(), Itm->DestFile.c_str());
-      return true;
-   }
+   // FIXME add an error message saying that empty files can't be valid archives
+   if(From.Size() == 0)
+      return false;
 
    FileFd To(Itm->DestFile,FileFd::WriteAtomic);   
    To.EraseOnFailure();