GH-141861: Fix invalid memory read in the ENTER_EXECUTOR (GH-141921)

This commit is contained in:
Sergey Miryanov 2025-11-25 03:07:45 +05:00 committed by GitHub
parent 369ce2b139
commit dc62b62252
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 35 additions and 2 deletions

View file

@ -3018,7 +3018,7 @@ dummy_func(
goto stop_tracing;
}
PyCodeObject *code = _PyFrame_GetCode(frame);
_PyExecutorObject *executor = code->co_executors->executors[oparg & 255];
_PyExecutorObject *executor = code->co_executors->executors[this_instr->op.arg];
assert(executor->vm_data.index == INSTR_OFFSET() - 1);
assert(executor->vm_data.code == code);
assert(executor->vm_data.valid);

View file

@ -5476,7 +5476,7 @@
JUMP_TO_LABEL(stop_tracing);
}
PyCodeObject *code = _PyFrame_GetCode(frame);
_PyExecutorObject *executor = code->co_executors->executors[oparg & 255];
_PyExecutorObject *executor = code->co_executors->executors[this_instr->op.arg];
assert(executor->vm_data.index == INSTR_OFFSET() - 1);
assert(executor->vm_data.code == code);
assert(executor->vm_data.valid);