From d149f15d637a323ac818a7fa719cad945828a04b Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Mon, 20 Mar 2023 14:42:15 +0000 Subject: [3.11] gh-101975: Fixed a potential SegFault on garbage collection (GH-102803) (GH-102807) Authored-by: gaogaotiantian --- .../Core and Builtins/2023-03-18-02-36-39.gh-issue-101975.HwMR1d.rst | 1 + Python/ceval.c | 1 + 2 files changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Core and Builtins/2023-03-18-02-36-39.gh-issue-101975.HwMR1d.rst diff --git a/Misc/NEWS.d/next/Core and Builtins/2023-03-18-02-36-39.gh-issue-101975.HwMR1d.rst b/Misc/NEWS.d/next/Core and Builtins/2023-03-18-02-36-39.gh-issue-101975.HwMR1d.rst new file mode 100644 index 0000000..28c9a84 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/2023-03-18-02-36-39.gh-issue-101975.HwMR1d.rst @@ -0,0 +1 @@ +Fixed ``stacktop`` value on tracing entries to avoid corruption on garbage collection. diff --git a/Python/ceval.c b/Python/ceval.c index 96d215a..72f9c83 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1536,6 +1536,7 @@ eval_frame_handle_pending(PyThreadState *tstate) _PyFrame_SetStackPointer(frame, stack_pointer); \ int err = trace_function_entry(tstate, frame); \ stack_pointer = _PyFrame_GetStackPointer(frame); \ + frame->stacktop = -1; \ if (err) { \ goto error; \ } \ -- cgit v0.12