summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmdline/apt-get.cc6
-rw-r--r--debian/changelog3
2 files changed, 6 insertions, 3 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index 0ab1dc1d2..0d32b9b39 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: apt-get.cc,v 1.133 2003/07/25 22:03:49 mdz Exp $
+// $Id: apt-get.cc,v 1.134 2003/08/07 20:51:50 mdz Exp $
/* ######################################################################
apt-get - Cover for dpkg
@@ -1350,14 +1350,14 @@ bool DoInstall(CommandLine &CmdL)
while (Cache->FindPkg(S).end() == true)
{
// Handle an optional end tag indicating what to do
- if (S[Length - 1] == '-')
+ if (Length >= 1 && S[Length - 1] == '-')
{
Remove = true;
S[--Length] = 0;
continue;
}
- if (S[Length - 1] == '+')
+ if (Length >= 1 && S[Length - 1] == '+')
{
Remove = false;
S[--Length] = 0;
diff --git a/debian/changelog b/debian/changelog
index da538197d..031cad53a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,9 @@ apt (0.5.9) unstable; urgency=low
written by a single write(2)
* Add new French man pages to doc/fr/.cvsignore
* Add freebsd to buildlib/ostable (Closes: #193430)
+ * Avoid segfault if a package name is specified which consists
+ entirely of characters which look like end tags ('+', '-')
+ (Closes: #200425)
--