GH-104584: Restore frame->stacktop on optimizer error (GH-108953)

This commit is contained in:
Brandt Bucher 2023-09-06 13:59:50 -07:00 committed by GitHub
parent 6f3c138dfa
commit 6971e40c2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 0 deletions

View File

@ -0,0 +1,2 @@
Fix a crash when running with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>`
enabled and an error occurs during optimization.

View File

@ -169,6 +169,7 @@ _PyOptimizer_BackEdge(_PyInterpreterFrame *frame, _Py_CODEUNIT *src, _Py_CODEUNI
if (err <= 0) {
assert(executor == NULL);
if (err < 0) {
_PyFrame_SetStackPointer(frame, stack_pointer);
return NULL;
}
goto jump_to_destination;