]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/dpkgpm.cc
* methods/gzip.cc:
[apt.git] / apt-pkg / deb / dpkgpm.cc
index 667db8ff2d98f4da38ae95d1416ec55c89f874c2..bf0434ccc5ab32c5333c122579f7d48117c743f8 100644 (file)
@@ -624,7 +624,13 @@ bool pkgDPkgPM::Go(int OutStatusFd)
            
         */
         char* list[5];
            
         */
         char* list[5];
-        TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
+        if(!TokSplitString(':', line, list, sizeof(list)/sizeof(list[0])))
+           // FIXME: dpkg sends multiline error messages sometimes (see
+           //        #374195 for a example. we should support this by
+           //        either patching dpkg to not send multiline over the
+           //        statusfd or by rewriting the code here to deal with
+           //        it. for now we just ignore it and not crash
+           continue;
         char *pkg = list[1];
         char *action = _strstrip(list[2]);
 
         char *pkg = list[1];
         char *action = _strstrip(list[2]);