]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
GH-130396: Use computed stack limits on linux (GH-130398)
authorMark Shannon <mark@hotpy.org>
Tue, 25 Feb 2025 09:24:48 +0000 (09:24 +0000)
committerGitHub <noreply@github.com>
Tue, 25 Feb 2025 09:24:48 +0000 (09:24 +0000)
commit014223649c33b2febbccfa221c2ab7f18a8c0847
tree5fb6432982ab3085d9275f20769f8fbcc581666b
parent99088ab081279329b8362e1c24533fa0be303e6f
GH-130396: Use computed stack limits on linux (GH-130398)

* Implement C recursion protection with limit pointers for Linux, MacOS and Windows

* Remove calls to PyOS_CheckStack

* Add stack protection to parser

* Make tests more robust to low stacks

* Improve error messages for stack overflow
58 files changed:
Doc/c-api/exceptions.rst
Include/cpython/object.h
Include/cpython/pystate.h
Include/internal/pycore_ceval.h
Include/internal/pycore_symtable.h
Include/internal/pycore_tstate.h
Include/pythonrun.h
Lib/test/list_tests.py
Lib/test/mapping_tests.py
Lib/test/pythoninfo.py
Lib/test/support/__init__.py
Lib/test/test_ast/test_ast.py
Lib/test/test_builtin.py
Lib/test/test_call.py
Lib/test/test_capi/test_misc.py
Lib/test/test_class.py
Lib/test/test_compile.py
Lib/test/test_descr.py
Lib/test/test_dict.py
Lib/test/test_dictviews.py
Lib/test/test_dynamic.py
Lib/test/test_exception_group.py
Lib/test/test_exceptions.py
Lib/test/test_fstring.py
Lib/test/test_functools.py
Lib/test/test_isinstance.py
Lib/test/test_json/test_recursion.py
Lib/test/test_marshal.py
Lib/test/test_patma.py
Lib/test/test_sys.py
Lib/test/test_sys_settrace.py
Lib/test/test_tokenize.py
Lib/test/test_userdict.py
Lib/test/test_userlist.py
Lib/test/test_xml_etree_c.py
Misc/NEWS.d/next/Core_and_Builtins/2025-02-12-12-44-36.gh-issue-91079.8Nq08d.rst [new file with mode: 0644]
Misc/NEWS.d/next/Core_and_Builtins/2025-02-21-11-12-41.gh-issue-130396.SIenSP.rst [new file with mode: 0644]
Modules/_testcapimodule.c
Modules/_testinternalcapi.c
Objects/object.c
Parser/asdl_c.py
Parser/parser.c
Python/Python-ast.c
Python/ast.c
Python/ast_opt.c
Python/bytecodes.c
Python/ceval.c
Python/codegen.c
Python/executor_cases.c.h
Python/generated_cases.c.h
Python/pystate.c
Python/pythonrun.c
Python/symtable.c
Tools/cases_generator/analyzer.py
Tools/peg_generator/pegen/c_generator.py
configure
configure.ac
pyconfig.h.in