_PyObject_FastCallKeywords() now checks !PyErr_Occurred()

Issue #29259. All other functions calling functions start with the similar
assertion.
This commit is contained in:
Victor Stinner 2017-01-18 14:06:38 +01:00
parent c89ef828cf
commit 98ccba8344
1 changed files with 5 additions and 0 deletions

View File

@ -2482,6 +2482,11 @@ PyObject *
_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));