[3.11] GH-94262: Don't create frame objects for frames that aren't yet complete. (GH-94371) (#94482)

Co-authored-by: Mark Shannon <mark@hotpy.org>
This commit is contained in:
Miss Islington (bot) 2022-07-04 11:43:12 -07:00 committed by GitHub
parent 8fe0b1d8fa
commit 68f5fa6683
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 87 additions and 13 deletions

View file

@ -1784,9 +1784,17 @@ sys__getframe_impl(PyObject *module, int depth)
return NULL;
}
while (depth > 0 && frame != NULL) {
frame = frame->previous;
--depth;
if (frame != NULL) {
while (depth > 0) {
frame = frame->previous;
if (frame == NULL) {
break;
}
if (_PyFrame_IsIncomplete(frame)) {
continue;
}
--depth;
}
}
if (frame == NULL) {
_PyErr_SetString(tstate, PyExc_ValueError,