From 7049e4e9ca6db15326d8a76f4f5f9ab592a925e3 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sun, 23 Oct 2005 09:27:12 +0000 Subject: * be extra carefull in cmdline/apt-get.cc:FindSrc() and check VF.File() for NULL --- cmdline/apt-get.cc | 6 +++++- debian/changelog | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 Sat, 22 Oct 2005 23:44:35 +0200 -- cgit v1.2.3