summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2006-07-25 12:59:12 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2006-07-25 12:59:12 +0200
commita9be43ff002473c6a4c5197ba3767ee938ae3ed1 (patch)
tree76265d1c0ee92f724a6ed65320333a968663b5b3
parent2abb68b77d4be00173c0aaab7d05277a053d3c5f (diff)
downloadapt-a9be43ff002473c6a4c5197ba3767ee938ae3ed1.tar.gz
* apt-inst/contrib/extracttar.cc:
- assign the return string value from Find() before calling c_str() on it, otherwise the string goes out of scope and is deleted
-rw-r--r--apt-inst/contrib/extracttar.cc3
-rw-r--r--debian/changelog4
2 files changed, 5 insertions, 2 deletions
diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc
index d6da802fe..062c06fa4 100644
--- a/apt-inst/contrib/extracttar.cc
+++ b/apt-inst/contrib/extracttar.cc
@@ -136,7 +136,8 @@ bool ExtractTar::StartGzip()
const char *Args[3];
string confvar = string("dir::bin::") + DecompressProg;
- Args[0] = _config->Find(confvar.c_str(),DecompressProg.c_str()).c_str();
+ string argv0 = _config->Find(confvar.c_str(),DecompressProg.c_str());
+ Args[0] = argv0.c_str();
Args[1] = "-d";
Args[2] = 0;
execvp(Args[0],(char **)Args);
diff --git a/debian/changelog b/debian/changelog
index 8a0093dcb..4de7f3f0d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,8 @@ apt (0.6.45) unstable; urgency=low
* methods/gpgv.cc:
- deal with gpg error "NODATA". Closes: #296103, Thanks to
Luis Rodrigo Gallardo Cruz for the patch
+ * apt-inst/contrib/extracttar.cc:
+ - fix for string mangling, closes: #373864
* Merged from Christian Perrier bzr branch:
* ko.po: Updated to 512t. Closes: #378901
* hu.po: Updated to 512t. Closes: #376330
@@ -27,7 +29,7 @@ apt (0.6.45) unstable; urgency=low
* eu.po: Updated
* eu.po: Updated
- --
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 25 Jul 2006 11:55:22 +0200
apt (0.6.44.2) unstable; urgency=low