aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/bytecodes.c
diff options
context:
space:
mode:
authorBrandt Bucher <brandtbucher@microsoft.com>2024-01-04 03:14:15 -0800
committerGitHub <noreply@github.com>2024-01-04 11:14:15 +0000
commit35ef8cb25917bfd6cbbd7c2bb55dd4f82131c9cf (patch)
tree9d24a2320bdc98d8038ad1bdb670a145049684a1 /Python/bytecodes.c
parent4c4b08dd2bd5f2cad4e41bf29119a3daa2956f6e (diff)
downloadcpython-35ef8cb25917bfd6cbbd7c2bb55dd4f82131c9cf.tar.gz
cpython-35ef8cb25917bfd6cbbd7c2bb55dd4f82131c9cf.zip
GH-113689: Fix broken handling of invalid executors (GH-113694)
Diffstat (limited to 'Python/bytecodes.c')
-rw-r--r--Python/bytecodes.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Python/bytecodes.c b/Python/bytecodes.c
index 2eeeac53e1d..e1a6a256fbd 100644
--- a/Python/bytecodes.c
+++ b/Python/bytecodes.c
@@ -2378,11 +2378,12 @@ dummy_func(
stack_pointer = _PyFrame_GetStackPointer(frame);
}
else {
+ code->co_executors->executors[oparg & 255] = NULL;
opcode = this_instr->op.code = executor->vm_data.opcode;
this_instr->op.arg = executor->vm_data.oparg;
oparg = (oparg & (~255)) | executor->vm_data.oparg;
- code->co_executors->executors[oparg&255] = NULL;
Py_DECREF(executor);
+ next_instr = this_instr;
DISPATCH_GOTO();
}
}