Proposed patch makes few minor changes related to handling errors in C.
* Fixed possible NULL dereference in PyErr_NormalizeException().
* Fixed error checking in atexit._run_exitfuncs().
* Fixed possible memory leaks in _Py_FatalError_PrintExc().
* PyErr_NormalizeException() no longer recursive.
* If an error is occurred during handling other error, the original exception is chained as the __contex__ attribute to the new exception instead of just be dropped.
* PyTraceBack_Print() no longer fails OverflowError if tracebacklimit is very large negative or positive value.
* ctype error message now include the name of the initial exception instead of the repr of its class.
* Py_XDECREFs is replaced with Py_DECREFs if this is safe.
* Added few asserts.
* Other minor cleanups. |