summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2005-10-23 09:27:12 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2005-10-23 09:27:12 +0000
commit7049e4e9ca6db15326d8a76f4f5f9ab592a925e3 (patch)
tree70b85b0aade56d2e196784d2b8aa4d797a90c43c
parent849eef0c94ee30fd6e0fb38f54ed308a6b138a5c (diff)
* be extra carefull in cmdline/apt-get.cc:FindSrc() and check VF.File() for NULL
-rw-r--r--cmdline/apt-get.cc6
-rw-r--r--debian/changelog2
2 files changed, 7 insertions, 1 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 3475d79ae..040f670b1 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1200,7 +1200,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
VerTag = string(TmpSrc.begin() + Slash + 1,TmpSrc.end());
TmpSrc = string(TmpSrc.begin(),TmpSrc.begin() + Slash);
}
- else if(DefRel.empty() == false)
+ else if(DefRel.empty() == false)
{
// we have a default release, try to locate the pkg. we do it like
// this because GetCandidateVer() will not "downgrade", that means
@@ -1211,6 +1211,10 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
for (pkgCache::VerFileIterator VF = Ver.FileList(); VF.end() == false;
VF++)
{
+ // extra paranioa
+ if(VF.File() == NULL)
+ continue;
+
/* If this is the status file, and the current version is not the
version in the status file (ie it is not installed, or somesuch)
then it is not a candidate for installation, ever. This weeds
diff --git a/debian/changelog b/debian/changelog
index 932ac592f..9716c3836 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ apt (0.6.42.1) unstable; urgency=low
* apt-pkg/pkgrecords.cc:
- revert patch from last version, it causes trouble on alpha
and ia64 (closes: #335102, #335103)
+ * cmdline/apt-get.cc:
+ - be extra carefull in FindSrc (closes: #335213)
-- Michael Vogt <mvo@debian.org> Sat, 22 Oct 2005 23:44:35 +0200