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

Hi,

there is a rather unfortunate leak in ReadConfigFile (in Adept, it managed to
leak out a megabyte of memory in no time, gods only know why -- there might be
another problem lurking calling ReadConfigFile too many times, although it does
leak a kilobyte per config line parsed...). I guess a patch is worth a thousand
words:

diff -ruN apt-0.7.14/apt-pkg/contrib/configuration.cc 
apt-0.7.14+morn/apt-pkg/contrib/configuration.cc
--- apt-0.7.14/apt-pkg/contrib/configuration.cc 2008-05-28 15:22:14.000000000 
+0200
+++ apt-0.7.14+morn/apt-pkg/contrib/configuration.cc    2008-08-02 
17:08:26.000000000 +0200
@@ -25,6 +25,7 @@
 #include <algorithm>
 #include <fstream>
 #include <iostream>
+#include <string>
     
 #include <stdio.h>
 #include <dirent.h>
@@ -513,16 +514,11 @@
       std::string Fragment;
 
       // Grab the next line of F and place it in Input.
-      do
-       {
-         char *Buffer = new char[1024];
-
-         F.clear();
-         F.getline(Buffer,sizeof(Buffer) / 2);
-
-         Input += Buffer;
-       }
-      while (F.fail() && !F.eof());
+      std::string Buffer;
+
+      F.clear();
+      std::getline(F, Buffer);
+      Input += Buffer;
 
       // Expand tabs in the input line and remove leading and trailing
       // whitespace.

Yours,
    Petr.

-- Package-specific info:

-- apt-config dump --

APT "";
APT::Architecture "i386";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
APT::Acquire "";
APT::Acquire::Translation "environment";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^linux-image.*";
APT::NeverAutoRemove:: "^linux-restricted-modules.*";
APT::Periodic "";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::Unattended-Upgrade "0";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
Dir "/";
Dir::State "var/lib/apt/";
Dir::State::lists "lists/";
Dir::State::cdroms "cdroms.list";
Dir::State::userstatus "status.user";
Dir::State::status "/var/lib/dpkg/status";
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";
Dir::Etc "etc/apt/";
Dir::Etc::sourcelist "sources.list";
Dir::Etc::sourceparts "sources.list.d";
Dir::Etc::vendorlist "vendors.list";
Dir::Etc::vendorparts "vendors.list.d";
Dir::Etc::main "apt.conf";
Dir::Etc::parts "apt.conf.d";
Dir::Etc::preferences "preferences";
Dir::Bin "";
Dir::Bin::methods "/usr/lib/apt/methods";
Dir::Bin::dpkg "/usr/bin/dpkg";
Dir::Log "var/log/apt";
Dir::Log::Terminal "term.log";
Unattended-Upgrade "";
Unattended-Upgrade::Allowed-Origins "";
Unattended-Upgrade::Allowed-Origins:: "Debian stable";
DPkg "";
DPkg::Pre-Install-Pkgs "";
DPkg::Pre-Install-Pkgs:: "/usr/sbin/dpkg-preconfigure --apt || true";
DPkg::Post-Invoke "";
DPkg::Post-Invoke:: "if [ -x /usr/bin/debsums ]; then /usr/bin/debsums 
--generate=nocheck -sp /var/cache/apt/archives; fi";
Acquire "";
Acquire::http "";
Acquire::http::Timeout "10";
Acquire::ftp "";
Acquire::ftp::Timeout "10";

-- /etc/apt/preferences --

Package: *
Pin: release unstable
Pin-Priority: 500

Package: gnuplot
Pin: version 4.2.0-2
Pin-Priority: 1001

Package: libqt*
Pin: version 4.4.0-4+morn
Pin-Priority: 1001

-- /etc/apt/sources.list --

deb http://localhost:9999/debian/ stable main 
deb http://localhost:9999/debian/ lenny main
deb http://localhost:9999/debian/ sid main 
deb http://localhost:9999/debian/ experimental main 
deb-src http://localhost:9999/debian/ sid main 
deb-src http://localhost:9999/debian/ experimental main 

deb http://localhost:9999/marillat/ sid main 

#deb file:/var/cache/apt-build/repository apt-build main 
#deb file:/home/mornfall/dev/deb/ ./
# deb http://homer.mexico.debconf.org/debian/ sid main 
# deb http://homer.mexico.debconf.org/debian/ etch main 
# deb http://ftp.cz.debian.org/debian/ etch main 
#deb http://ftp.cz.debian.org/debian/ ../project/experimental main 
#deb http://ftp.cz.debian.org/debian/ etch main non-free contrib 
# deb-src http://homer.mexico.debconf.org/debian/ sid main 
#deb http://mentors.debian.net/debian sid contrib 

# deb http://security.debian.org/ etch/updates main 
# deb-src http://security.debian.org/ etch/updates main 

# deb ftp://ftp.nerim.net/debian-marillat/ etch main 
# deb ftp://ftp.nerim.net/debian-marillat/ sid main 

# deb http://snapshot.debian.net/archive pool kpowersave 
# deb http://snapshot.debian.net/archive pool powersave 
# deb-src http://kubuntu.no-ip.org/kubuntu dapper main 

# deb http://ftp.ch.debian-unofficial.org/mirror/debian-unofficial/debian/ 
sarge main contrib non-free 
#deb http://ftp.sk.debian-unofficial.org/debian/ sarge main contrib non-free 
#deb http://download.skype.com/linux/repos/debian/ stable non-free 

#deb http://kernel-archive.buildserver.net/debian-kernel/ trunk main

## Christian Marillat's Mult-Media Repository for Unstable
#deb http://www.debian-multimedia.org sid main

## RareWares/Debian Multi-Media Repository for Unstable
#deb http://www.rarewares.org/debian/packages/unstable/ ./

#deb http://kubuntu.org/packages/kde4-3.80.3/ edgy main

#deb http://deb.opera.com/opera/ unstable non-free
#deb http://www.xapian.org/debian/ unstable main

#deb http://anna.fi.muni.cz/~xrockai/adept-3-deb/ ./

#deb http://localhost/result ./

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.24-rc7-1-morn (PREEMPT)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

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-8       GCC support library
ii  libstdc++6               4.3.1-8         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-0.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