summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2010-02-02 17:15:18 +0100
committerJulian Andres Klode <jak@debian.org>2010-02-02 17:15:18 +0100
commiteda5f5556f353c2403f846d74104d000c00aff90 (patch)
tree95c09db50b5f5854183ca80d48f69b61b2075d3f
parenta3d3b31c936d7c244e7a3874ae6f453f75d5cf58 (diff)
downloadpython-apt-eda5f5556f353c2403f846d74104d000c00aff90.tar.gz
python/tarfile.cc: If only one member is requested, extract just that one.
-rw-r--r--debian/changelog1
-rw-r--r--python/tarfile.cc2
2 files changed, 3 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 2a10635d..51472a0c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,7 @@ python-apt (0.7.93.1) UNRELEASED; urgency=low
- Do not segfault if TarFile.go() is called without a member name.
- Clone all pkgDirStream::Item's so apt_pkg.TarMember object can be used
outside of the callback function passed to go().
+ - If only one member is requested, extract just that one.
* Drop the segfault prevention measures from the Acquire code, as they fail
to work. A replacement will be added once destruction callbacks are added
in APT.
diff --git a/python/tarfile.cc b/python/tarfile.cc
index aa9a39f6..6363af0f 100644
--- a/python/tarfile.cc
+++ b/python/tarfile.cc
@@ -78,6 +78,8 @@ bool PyDirStream::DoItem(Item &Itm, int &Fd)
copy_size = Itm.Size;
}
Fd = -2;
+ } else {
+ Fd = -1;
}
return true;
}