diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 17:01:37 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 17:01:37 +0000 |
commit | acfe730660b33aa49f97740688c26e3725e1994c (patch) | |
tree | 8f850b33b32097ea0a482dc35700e5e51762ea2f /apt-pkg/versionmatch.cc | |
parent | cfce80065eb8658b8347ac419021e4a30cf4e119 (diff) |
Fix segfault when handling /etc/apt/preferences.
Author: doogie
Date: 2003-05-19 17:58:26 GMT
Fix segfault when handling /etc/apt/preferences.
Diffstat (limited to 'apt-pkg/versionmatch.cc')
-rw-r--r-- | apt-pkg/versionmatch.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/apt-pkg/versionmatch.cc b/apt-pkg/versionmatch.cc index 1abb7e4ad..9e341852b 100644 --- a/apt-pkg/versionmatch.cc +++ b/apt-pkg/versionmatch.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: versionmatch.cc,v 1.8 2003/04/24 03:16:58 doogie Exp $ +// $Id: versionmatch.cc,v 1.9 2003/05/19 17:58:26 doogie Exp $ /* ###################################################################### Version Matching @@ -208,8 +208,12 @@ bool pkgVersionMatch::FileMatch(pkgCache::PkgFileIterator File) if (Type == Origin) { - if (!strcmp(File.Archive(), "now")) /* ignore local "status" file */ - return false; + if (OrSite.empty() == false) { + if (File->Site == 0 || OrSite != File.Site()) + return false; + } else // so we are talking about file:// or status file + if (strcmp(File.Site(),"") == 0 && File->Archive != 0) // skip the status file + return false; return (OrSite == File.Site()); /* both strings match */ } |