(original) (raw)
changeset: 84648:92a9ccb2a521 user: Victor Stinner victor.stinner@gmail.com date: Tue Jul 16 01:02:12 2013 +0200 files: Objects/abstract.c Python/ceval.c description: Issue #18408: add more assertions on PyErr_Occurred() in ceval.c to detect bugs earlier diff -r 2e42c0a39321 -r 92a9ccb2a521 Objects/abstract.c --- a/Objects/abstract.c Tue Jul 16 00:32:14 2013 +0200 +++ b/Objects/abstract.c Tue Jul 16 01:02:12 2013 +0200 @@ -2111,8 +2111,7 @@ "NULL result without error in PyObject_Call"); } #else - if (result == NULL) - assert(PyErr_Occurred()); + assert(result != NULL || PyErr_Occurred()); #endif return result; } diff -r 2e42c0a39321 -r 92a9ccb2a521 Python/ceval.c --- a/Python/ceval.c Tue Jul 16 00:32:14 2013 +0200 +++ b/Python/ceval.c Tue Jul 16 01:02:12 2013 +0200 @@ -4216,6 +4216,8 @@ 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 @@ Py_XDECREF(callargs); Py_XDECREF(kwdict); Py_XDECREF(stararg); + assert((result != NULL && !PyErr_Occurred()) + || (result == NULL && PyErr_Occurred())); return result; } /victor.stinner@gmail.com