[Python-checkins] cpython: _PyObject_FastCallKeywords() now checks !PyErr_Occurred()
victor.stinner
python-checkins at python.org
Wed Jan 18 08:22:58 EST 2017
https://hg.python.org/cpython/rev/ee6e1b1151a8
changeset: 106218:ee6e1b1151a8
user: Victor Stinner <victor.stinner at gmail.com>
date: Wed Jan 18 14:06:38 2017 +0100
summary:
_PyObject_FastCallKeywords() now checks !PyErr_Occurred()
Issue #29259. All other functions calling functions start with the similar
assertion.
files:
Objects/abstract.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/Objects/abstract.c b/Objects/abstract.c
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2482,6 +2482,11 @@
_PyObject_FastCallKeywords(PyObject *callable, PyObject **stack, Py_ssize_t nargs,
PyObject *kwnames)
{
+ /* _PyObject_FastCallKeywords() must not be called with an exception set,
+ because it can clear it (directly or indirectly) and so the
+ caller loses its exception */
+ assert(!PyErr_Occurred());
+
assert(nargs >= 0);
assert(kwnames == NULL || PyTuple_CheckExact(kwnames));
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list