Package: apt
Version: 0.7.14
Severity: normal
Tags: patch

ReadMessages() (in apt-pkg/contrib/strutl.cc) misses the end of a
message when the "\n\n" combination spans two reads. This is because the
first partial read is entirely put in PartialMessage and the test (I[0]
!= '\n' || I[1] != '\n') ignores the contents of PartialMessage.

The patch below should fix this:

--- strutl.cc.orig      2008-05-28 14:22:14.000000000 +0100
+++ strutl.cc   2008-08-21 09:28:05.010859100 +0100
@@ -720,8 +720,11 @@ bool ReadMessages(int Fd, vector<string>
          // in PartialMessage and throw the rest of the buffer
          // away.  This allows us to handle messages that
          // are longer than the static buffer size.
-         PartialMessage += string(Buffer, End);
-         End = Buffer;
+         // The last byte is left in Buffer so that a \n\n combination
+         // that spans the two reads is still detected
+         PartialMessage += string(Buffer, End-1);
+         Buffer[0] = Buffer[End-1];
+         End = Buffer + 1;
        }
       else
        {


-- Package-specific info:

-- (no /etc/apt/preferences present) --


-- (/etc/apt/sources.list present, but not submitted) --


-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: armel (armv5tejl)

Kernel: Linux 2.6.16.16-arm1
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages apt depends on:
ii  debian-archive-keyring   2008.04.16+nmu1 GnuPG archive keys of the Debian a
ii  libc6                    2.7-13          GNU C Library: Shared libraries
ii  libgcc1                  1:4.3.1-2       GCC support library
ii  libstdc++6               4.3.1-2         The GNU Standard C++ Library v3

apt recommends no packages.

Versions of packages apt suggests:
pn  apt-doc                       <none>     (no description available)
ii  aptitude                      0.4.11.8-1 terminal-based package manager
ii  bzip2                         1.0.5-1    high-quality block-sorting file co
ii  dpkg-dev                      1.14.20    Debian package development tools
ii  lzma                          4.43-14    Compression method of 7z format in

-- no debconf information



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to