diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:59:36 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:59:36 +0000 |
commit | b8b7c37d8931126f4536b7350c7611a9fa98e04a (patch) | |
tree | 6cf13d22660939d979686dde8e25e0759db59c44 | |
parent | 6778020c7eca2d704604ad38b20bc1fb3f3a24fb (diff) |
Fix some unlikely segfaults
Author: jgg
Date: 2002-11-06 06:43:14 GMT
Fix some unlikely segfaults
-rw-r--r-- | apt-pkg/policy.cc | 6 | ||||
-rw-r--r-- | apt-pkg/tagfile.cc | 4 | ||||
-rw-r--r-- | apt-pkg/versionmatch.cc | 4 |
3 files changed, 7 insertions, 7 deletions
diff --git a/apt-pkg/policy.cc b/apt-pkg/policy.cc index 98439cd57..228d858a9 100644 --- a/apt-pkg/policy.cc +++ b/apt-pkg/policy.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: policy.cc,v 1.8 2001/05/27 23:40:56 jgg Exp $ +// $Id: policy.cc,v 1.9 2002/11/06 06:43:14 jgg Exp $ /* ###################################################################### Package Version Policy implementation @@ -183,7 +183,7 @@ void pkgPolicy::CreatePin(pkgVersionMatch::MatchType Type,string Name, Pin *P = 0; if (Name.empty() == true) - P = &*Defaults.insert(Defaults.end()); + P = &*Defaults.insert(Defaults.end(),PkgPin()); else { // Get a spot to put the pin @@ -197,7 +197,7 @@ void pkgPolicy::CreatePin(pkgVersionMatch::MatchType Type,string Name, P = &*I; if (P == 0) - P = &*Unmatched.insert(Unmatched.end()); + P = &*Unmatched.insert(Unmatched.end(),PkgPin()); } else { diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc index e3d83d334..da520ed81 100644 --- a/apt-pkg/tagfile.cc +++ b/apt-pkg/tagfile.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: tagfile.cc,v 1.34 2002/07/08 03:39:06 jgg Exp $ +// $Id: tagfile.cc,v 1.35 2002/11/06 06:43:14 jgg Exp $ /* ###################################################################### Fast scanner for RFC-822 type header information @@ -197,7 +197,7 @@ bool pkgTagSection::Scan(const char *Start,unsigned long MaxLength) if (Stop == 0) return false; - for (; Stop+1 < End && Stop[1] == '\r'; Stop++); + for (; Stop+1 < End && Stop[1] == '\r'; Stop++); // Double newline marks the end of the record if (Stop+1 < End && Stop[1] == '\n') diff --git a/apt-pkg/versionmatch.cc b/apt-pkg/versionmatch.cc index e7d8e4dc7..0ca850dc8 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.6 2001/06/10 01:57:45 jgg Exp $ +// $Id: versionmatch.cc,v 1.7 2002/11/06 06:43:14 jgg Exp $ /* ###################################################################### Version Matching @@ -68,7 +68,7 @@ pkgVersionMatch::pkgVersionMatch(string Data,MatchType Type) : Type(Type) else RelArchive = Data; - if (RelVerStr.end()[-1] == '*') + if (RelVerStr.length() > 0 && RelVerStr.end()[-1] == '*') { RelVerPrefixMatch = true; RelVerStr = string(RelVerStr.begin(),RelVerStr.end()-1); |