From 2a3f3893b2197fa0604e09fb662f1112a453e7f4 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:58:48 +0000 Subject: [PATCH] Fixed a possible segfault Author: jgg Date: 2001-12-26 06:47:37 GMT Fixed a possible segfault --- apt-pkg/algorithms.cc | 8 +++++--- cmdline/apt-cache.cc | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apt-pkg/algorithms.cc b/apt-pkg/algorithms.cc index 322c667f2..2dd9aaaf1 100644 --- a/apt-pkg/algorithms.cc +++ b/apt-pkg/algorithms.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: algorithms.cc,v 1.36 2001/05/27 03:46:10 jgg Exp $ +// $Id: algorithms.cc,v 1.37 2001/12/26 06:47:37 jgg Exp $ /* ###################################################################### Algorithms - A set of misc algorithms @@ -225,7 +225,8 @@ bool pkgApplyStatus(pkgDepCache &Cache) else { // Is this right? Will dpkg choke on an upgrade? - if (Cache[I].CandidateVerIter(Cache).Downloadable() == true) + if (Cache[I].CandidateVer != 0 && + Cache[I].CandidateVerIter(Cache).Downloadable() == true) Cache.MarkInstall(I); else return _error->Error(_("The package %s needs to be reinstalled, " @@ -246,7 +247,8 @@ bool pkgApplyStatus(pkgDepCache &Cache) Cache.MarkKeep(I); else { - if (Cache[I].CandidateVerIter(Cache).Downloadable() == true) + if (Cache[I].CandidateVer != 0 && + Cache[I].CandidateVerIter(Cache).Downloadable() == true) Cache.MarkInstall(I); else Cache.MarkDelete(I); diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc index 691899b3e..426bfc5b9 100644 --- a/cmdline/apt-cache.cc +++ b/cmdline/apt-cache.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-cache.cc,v 1.53 2001/12/07 05:57:43 jgg Exp $ +// $Id: apt-cache.cc,v 1.54 2001/12/26 06:47:58 jgg Exp $ /* ###################################################################### apt-cache - Manages the cache files @@ -1362,7 +1362,7 @@ int main(int argc,const char *argv[]) if (CmdL.DispatchArg(CmdsA,false) == false && _error->PendingError() == false) { - MMap *Map; + MMap *Map = 0; if (_config->FindB("APT::Cache::Generate",true) == false) { Map = new MMap(*new FileFd(_config->FindFile("Dir::Cache::pkgcache"), -- 2.47.2