]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)
authorMark Shannon <mark@hotpy.org>
Wed, 19 Feb 2025 11:44:57 +0000 (11:44 +0000)
committerGitHub <noreply@github.com>
Wed, 19 Feb 2025 11:44:57 +0000 (11:44 +0000)
commit2498c22fa0a2b560491bc503fa676585c1a603d0
tree1e045c5f71ff6674cdd2c247c99565697e088a87
parentc637bce20aaaf836ab2cfbb123b9472e5ad0ab47
GH-91079: Implement C stack limits using addresses, not counters. (GH-130007)

* Implement C recursion protection with limit pointers

* Remove calls to PyOS_CheckStack

* Add stack protection to parser

* Make tests more robust to low stacks

* Improve error messages for stack overflow
47 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_call.py
Lib/test/test_capi/test_misc.py
Lib/test/test_compile.py
Lib/test/test_dict.py
Lib/test/test_dictviews.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_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]
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/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