diff options
-rw-r--r-- | cmdline/apt-get.cc | 6 | ||||
-rw-r--r-- | debian/changelog | 3 |
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) -- |