https://github.com/python/cpython/commit/13c4def692228f09df0b30c5f93bc515e89fc77f
commit: 13c4def692228f09df0b30c5f93bc515e89fc77f
branch: main
author: mpage <mp...@meta.com>
committer: mpage <mp...@cs.stanford.edu>
date: 2025-01-17T12:53:29-08:00
summary:

gh-128955: Fix goto if tlbc creation fails when throwing into a generator 
(#128957)

We don't have the correct copy of the bytecode and can't update next_instr
appropriately, so just unwind.

files:
M Python/ceval.c

diff --git a/Python/ceval.c b/Python/ceval.c
index e0362c3c89fe6a..28b0b4c6de39a7 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -846,7 +846,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, 
_PyInterpreterFrame *frame, int
             _Py_CODEUNIT *bytecode =
                 _PyEval_GetExecutableCode(tstate, _PyFrame_GetCode(frame));
             if (bytecode == NULL) {
-                goto error;
+                goto exit_unwind;
             }
             ptrdiff_t off = frame->instr_ptr - _PyFrame_GetBytecode(frame);
             frame->tlbc_index = ((_PyThreadStateImpl *)tstate)->tlbc_index;

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to