summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:59:36 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:59:36 +0000
commitb8b7c37d8931126f4536b7350c7611a9fa98e04a (patch)
tree6cf13d22660939d979686dde8e25e0759db59c44
parent6778020c7eca2d704604ad38b20bc1fb3f3a24fb (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.cc6
-rw-r--r--apt-pkg/tagfile.cc4
-rw-r--r--apt-pkg/versionmatch.cc4
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);