diff options
-rw-r--r-- | Objects/abstract.c | 3 | ||||
-rw-r--r-- | Python/ceval.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c index 6896600..6c8c561 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -2111,8 +2111,7 @@ PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) "NULL result without error in PyObject_Call"); } #else - if (result == NULL) - assert(PyErr_Occurred()); + assert(result != NULL || PyErr_Occurred()); #endif return result; } diff --git a/Python/ceval.c b/Python/ceval.c index 5a35524..2d84c09 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -4216,6 +4216,8 @@ call_function(PyObject ***pp_stack, int oparg READ_TIMESTAMP(*pintr1); Py_DECREF(func); } + assert((x != NULL && !PyErr_Occurred()) + || (x == NULL && PyErr_Occurred())); /* Clear the stack of the function object. Also removes the arguments in case they weren't consumed already @@ -4509,6 +4511,8 @@ ext_call_fail: Py_XDECREF(callargs); Py_XDECREF(kwdict); Py_XDECREF(stararg); + assert((result != NULL && !PyErr_Occurred()) + || (result == NULL && PyErr_Occurred())); return result; } |