summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2011-03-29 09:16:26 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2011-03-29 09:16:26 +0200
commitf88db9b5fab274879fe1aeae1309dc7a23257040 (patch)
tree5ed2b86e31b95a3feabc6642a31c9da0724ba5bf
parent2820cf928b411a0227c07780dd2e74b9b0ebbd98 (diff)
downloadpython-apt-f88db9b5fab274879fe1aeae1309dc7a23257040.tar.gz
PyFetchProgress::Pulse(): When ignoring a false return value from
PyArg_Parse() after running the simple callback pulse(), there can be an exception on the stack, which must be cleared. (LP: #711225)
-rw-r--r--debian/changelog9
-rw-r--r--python/progress.cc4
2 files changed, 12 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index c45f483d..6f337b91 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+python-apt (0.7.100.2ubuntu2) UNRELEASED; urgency=low
+
+ [ Barry Warsaw ]
+ * PyFetchProgress::Pulse(): When ignoring a false return value from
+ PyArg_Parse() after running the simple callback pulse(), there can be
+ an exception on the stack, which must be cleared. (LP: #711225)
+
+ -- Michael Vogt <mvo@debian.org> Mon, 21 Mar 2011 15:46:50 +0100
+
python-apt (0.7.100.2ubuntu1) natty; urgency=low
* merged fix for parse_depends() in a multiarch environment
diff --git a/python/progress.cc b/python/progress.cc
index 437309cf..5700a1b6 100644
--- a/python/progress.cc
+++ b/python/progress.cc
@@ -399,7 +399,9 @@ bool PyFetchProgress::Pulse(pkgAcquire * Owner)
{
// most of the time the user who subclasses the pulse()
// method forgot to add a return {True,False} so we just
- // assume he wants a True
+ // assume he wants a True. There may be a Python exception on the stack
+ // that must be cleared.
+ PyErr_Clear();
PyCbObj_BEGIN_ALLOW_THREADS
return true;
}