gh-121814: Only check f_trace_opcodes if Python frame exists (#121818)

Co-authored-by: Matt Wozniski <godlygeek@gmail.com>
This commit is contained in:
Tian Gao
2024-07-15 16:11:02 -07:00
committed by GitHub
parent 4134261ab8
commit 2b1b68939b
2 changed files with 2 additions and 1 deletions
@@ -0,0 +1 @@
Fixed the SegFault when :c:func:`PyEval_SetTrace` is used with no Python frame on stack.
+1 -1
View File
@@ -605,7 +605,7 @@ _PyEval_SetTrace(PyThreadState *tstate, Py_tracefunc func, PyObject *arg)
(1 << PY_MONITORING_EVENT_STOP_ITERATION);
PyFrameObject* frame = PyEval_GetFrame();
if (frame->f_trace_opcodes) {
if (frame && frame->f_trace_opcodes) {
int ret = _PyEval_SetOpcodeTrace(frame, true);
if (ret != 0) {
return ret;