apt-pkg/acquire-item.cc: only test packages file for correctness if its not empty...
[ntk/apt.git] / apt-pkg / acquire-item.cc
index 998c42d..c3817f6 100644 (file)
@@ -910,17 +910,20 @@ void pkgAcqIndex::Done(string Message,unsigned long Size,string Hash,
         pkgTagSection sec;
         pkgTagFile tag(&fd);
 
-        if (_error->PendingError() || !tag.Step(sec)) {
-           Status = StatError;
-           _error->DumpErrors();
-           Rename(DestFile,DestFile + ".FAILED");
-           return;
-        } else if (!sec.Exists("Package")) {
-           Status = StatError;
-           ErrorText = ("Encountered a section with no Package: header");
-           Rename(DestFile,DestFile + ".FAILED");
-           return;
-        }
+         // Only test for correctness if the file is not empty (empty is ok)
+         if (fd.Size() > 0) {
+            if (_error->PendingError() || !tag.Step(sec)) {
+               Status = StatError;
+               _error->DumpErrors();
+               Rename(DestFile,DestFile + ".FAILED");
+               return;
+            } else if (!sec.Exists("Package")) {
+               Status = StatError;
+               ErrorText = ("Encountered a section with no Package: header");
+               Rename(DestFile,DestFile + ".FAILED");
+               return;
+            }
+         }
       }
        
       // Done, move it into position