From f26fcbc707e106946e18682f917ebd6f96444302 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Tue, 18 Sep 2007 17:24:15 +0100 Subject: [PATCH] - fix parse error when dpkg sends unexpected data --- apt-pkg/deb/dpkgpm.cc | 7 ++++--- debian/changelog | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index ac63ccfd..28b895ac 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -392,14 +392,15 @@ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line) // 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( list[0] == NULL || list[1] == NULL || list[2] == NULL) { if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true) std::clog << "ignoring line: not enough ':'" << std::endl; return; } + char *action = list[0]; + char *pkg = list[1]; + char *action = _strstrip(list[2]); if(strncmp(action,"error",strlen("error")) == 0) { diff --git a/debian/changelog b/debian/changelog index e07863c2..46b6dc7b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -14,6 +14,7 @@ apt (0.7.7) UNRELEASED; urgency=low - merged dpkg-log branch, this lets you specify a Dir::Log::Terminal file to log dpkg output to (ABI break) + - fix parse error when dpkg sends unexpected data * merged apt--sha256 branch to fully support the new sha256 checksums in the Packages and Release files (ABI break) -- 2.20.1