From b8b7c37d8931126f4536b7350c7611a9fa98e04a Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:59:36 +0000 Subject: Fix some unlikely segfaults Author: jgg Date: 2002-11-06 06:43:14 GMT Fix some unlikely segfaults --- apt-pkg/policy.cc | 6 +++--- apt-pkg/tagfile.cc | 4 ++-- apt-pkg/versionmatch.cc | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'apt-pkg') 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); -- cgit v1.2.3