Index: /trunk/data/_apt7/tolerance.diff
===================================================================
--- /trunk/data/_apt7/tolerance.diff (revision 699)
+++ /trunk/data/_apt7/tolerance.diff (revision 699)
@@ -0,0 +1,24 @@
+diff -ru apt-0.7.20.2/apt-pkg/deb/deblistparser.cc apt-0.7.20.2+iPhone/apt-pkg/deb/deblistparser.cc
+--- apt-0.7.20.2/apt-pkg/deb/deblistparser.cc	2010-02-22 08:57:37.000000000 +0000
++++ apt-0.7.20.2+iPhone/apt-pkg/deb/deblistparser.cc	2010-02-22 09:40:28.000000000 +0000
+@@ -643,11 +643,18 @@
+    iOffset = Tags.Offset();
+    while (Tags.Step(Section) == true)
+    {      
++      const char *Start;
++      const char *Stop;
++
++      if (Section.Find("Package",Start,Stop) == false) {
++         _error->Warning("Encountered a section with no Package: header");
++	 continue;
++      }
++
+       /* See if this is the correct Architecture, if it isn't then we
+          drop the whole section. A missing arch tag only happens (in theory)
+          inside the Status file, so that is a positive return */
+-      const char *Start;
+-      const char *Stop;
++
+       if (Section.Find("Architecture",Start,Stop) == false)
+ 	 return true;
+ 
