summaryrefslogtreecommitdiffstats
path: root/Python/exceptions.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2002-09-18 04:06:32 (GMT)
committerGuido van Rossum <guido@python.org>2002-09-18 04:06:32 (GMT)
commit98b2a42bc48a82718b36b9da094b1f6d24825967 (patch)
treef193fcd830480b1bad404937ca12ad5e01e79392 /Python/exceptions.c
parent5fab9c67eba274effd05c8b518d0eaad7a98103d (diff)
downloadcpython-98b2a42bc48a82718b36b9da094b1f6d24825967.zip
cpython-98b2a42bc48a82718b36b9da094b1f6d24825967.tar.gz
cpython-98b2a42bc48a82718b36b9da094b1f6d24825967.tar.bz2
Fix SF bug 610610 (reported by Martijn Pieters, diagnosed by Neal Norwitz).
The switch in Exception__str__ didn't clear the error if PySequence_Size() raised an exception. Added a case -1 which clears the error and falls through to the default case. Definite backport candidate (this dates all the way to Python 2.0).
Diffstat (limited to 'Python/exceptions.c')
-rw-r--r--Python/exceptions.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Python/exceptions.c b/Python/exceptions.c
index 3f07089..03affdc 100644
--- a/Python/exceptions.c
+++ b/Python/exceptions.c
@@ -288,6 +288,9 @@ Exception__str__(PyObject *self, PyObject *args)
out = NULL;
break;
}
+ case -1:
+ PyErr_Clear();
+ /* Fall through */
default:
out = PyObject_Str(args);
break;