From: Arch Librarian Date: Mon, 20 Sep 2004 16:58:48 +0000 (+0000) Subject: Fixed a possible segfault X-Git-Tag: 0.7.24ubuntu1~946 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/2a3f3893b2197fa0604e09fb662f1112a453e7f4 Fixed a possible segfault Author: jgg Date: 2001-12-26 06:47:37 GMT Fixed a possible segfault --- 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"),