GH-96754: Check whether the interpreter frame is complete before creating frame object. (GH-96776)

This commit is contained in:
Mark Shannon 2022-09-13 09:25:16 +01:00 committed by GitHub
parent 1756ffd66a
commit 12c5f328d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 3 deletions

View file

@ -1832,6 +1832,9 @@ _PyErr_CheckSignalsTstate(PyThreadState *tstate)
_Py_atomic_store(&is_tripped, 0);
_PyInterpreterFrame *frame = tstate->cframe->current_frame;
while (frame && _PyFrame_IsIncomplete(frame)) {
frame = frame->previous;
}
signal_state_t *state = &signal_global_state;
for (int i = 1; i < Py_NSIG; i++) {
if (!_Py_atomic_load_relaxed(&Handlers[i].tripped)) {