return. Setting an exception can mess with the exception state, and
continuing is definitely wrong (since type is dereferenced later on).
Some code that calls this seems to be prepared for a NULL exception
type, so let's be safe rather than sorry and simply assume there's
nothing to normalize in this case.
PyObject *initial_tb = NULL;
if (type == NULL) {
- /* This is a bug. Should never happen. Don't dump core. */
- PyErr_SetString(PyExc_SystemError,
- "PyErr_NormalizeException() called without exception");
+ /* There was no exception, so nothing to do. */
+ return;
}
/* If PyErr_SetNone() was used, the value will have been actually