diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-21-58-25.gh-issue-151763.FYc3_9.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-21-58-25.gh-issue-151763.FYc3_9.rst new file mode 100644 index 000000000000000..0b8ef5014424ed1 --- /dev/null +++ b/Misc/NEWS.d/next/Core_and_Builtins/2026-06-22-21-58-25.gh-issue-151763.FYc3_9.rst @@ -0,0 +1,3 @@ +Fix a possible double-free of ```PyObject* error_line``` in +```_PyPegen_raise_error_known_location``` in ```pegen_errors.c``` by +resetting it to ```NULL```. It now correctly raises ```MemoryError```. diff --git a/Parser/pegen_errors.c b/Parser/pegen_errors.c index 312699415efd9af..353358d14f3c788 100644 --- a/Parser/pegen_errors.c +++ b/Parser/pegen_errors.c @@ -391,6 +391,7 @@ _PyPegen_raise_error_known_location(Parser *p, PyObject *errtype, } tmp = Py_BuildValue("(OnnNnn)", p->tok->filename, lineno, col_number, error_line, end_lineno, end_col_number); + error_line = NULL; if (!tmp) { goto error; }