gh-111375: Use NULL rather than None in the exception stack to indicate that an exception was handled (#113302)

This commit is contained in:
Carey Metcalfe 2023-12-20 20:46:41 -05:00 committed by GitHub
parent 1ff0238594
commit a2dd0e7038
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 9 additions and 7 deletions

View file

@ -121,11 +121,11 @@ _PyErr_GetTopmostException(PyThreadState *tstate)
_PyErr_StackItem *exc_info = tstate->exc_info;
assert(exc_info);
while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) &&
exc_info->previous_item != NULL)
while (exc_info->exc_value == NULL && exc_info->previous_item != NULL)
{
exc_info = exc_info->previous_item;
}
assert(!Py_IsNone(exc_info->exc_value));
return exc_info;
}
@ -592,7 +592,7 @@ PyErr_GetHandledException(void)
void
_PyErr_SetHandledException(PyThreadState *tstate, PyObject *exc)
{
Py_XSETREF(tstate->exc_info->exc_value, Py_XNewRef(exc));
Py_XSETREF(tstate->exc_info->exc_value, Py_XNewRef(exc == Py_None ? NULL : exc));
}
void