summaryrefslogtreecommitdiff
path: root/cmdline
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 /cmdline
parent849eef0c94ee30fd6e0fb38f54ed308a6b138a5c (diff)
* be extra carefull in cmdline/apt-get.cc:FindSrc() and check VF.File() for NULL
Diffstat (limited to 'cmdline')
-rw-r--r--cmdline/apt-get.cc6
1 files changed, 5 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