summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <egon@bottom>2006-10-30 11:02:02 +0100
committerMichael Vogt <egon@bottom>2006-10-30 11:02:02 +0100
commit829baeeaf39e614a3012480f39842fc42503547e (patch)
tree24e4c3dbba495f2a11236fb48ae180fff64c9636
parent6829543e206399daad8d2522b0a4d05a69a6935b (diff)
parent7993c14863f79e48b772038eb9c17af9ec127d3b (diff)
* merged from apt--mvo
-rw-r--r--apt-pkg/deb/dpkgpm.cc19
-rw-r--r--debian/changelog4
2 files changed, 16 insertions, 7 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 2b167dbf6..4c44cd01a 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -624,15 +624,20 @@ bool pkgDPkgPM::Go(int OutStatusFd)
*/
char* list[5];
- 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;
+ // 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
+ TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
char *pkg = list[1];
char *action = _strstrip(list[2]);
+ if( pkg == NULL || action == NULL)
+ {
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "ignoring line: not enough ':'" << std::endl;
+ continue;
+ }
if(strncmp(action,"error",strlen("error")) == 0)
{
diff --git a/debian/changelog b/debian/changelog
index 0f9b01973..066baa8bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,9 @@
apt (0.6.46.3) unstable; urgency=low
+ * apt-pkg/deb/dpkgpm.cc:
+ - make progress reporting robust against multiline error
+ messages
+
* Merged from Christian Perrier bzr branch:
- ca.po: Updated to 514t
- be.po: Updated to 514t