From 5e9179a6a301de5e6cb0f99098b467d5c35ab8d5 Mon Sep 17 00:00:00 2001
From: Michael Vogt <michael.vogt@ubuntu.com>
Date: Tue, 25 Jul 2006 11:37:20 +0200
Subject: * apt-pkg/deb/dpkgpm.cc:   - ignore lines that can't be split
 properly from dpkg (DpkgPM::Go) * doc/examples/configure-index:   -
 documentation updates

---
 apt-pkg/deb/dpkgpm.cc | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

(limited to 'apt-pkg/deb')

diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 667db8ff2..bf0434ccc 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -624,7 +624,13 @@ bool pkgDPkgPM::Go(int OutStatusFd)
 	    
 	 */
 	 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]);
 
-- 
cgit v1.2.3