…recursion (pythonGH-22053) This program can segfault the parser by stack overflow: ``` import ast code = "f(" + ",".join(['a' for _ in range(100000)]) + ")" print("Ready!") ast.parse(code) ``` the reason is that the rule for arguments has a simple recursion when collecting args: args[expr_ty]: [...] | a=named_expression b=[',' c=args { c }] { [...] }. (cherry picked from commit 4a97b15) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
…
This program can segfault the parser by stack overflow:
the reason is that the rule for arguments has a simple recursion when collecting args:
args[expr_ty]:
[...]
| a=named_expression b=[',' c=args { c }] {
[...] }.
(cherry picked from commit 4a97b15)
Co-authored-by: Pablo Galindo Pablogsal@gmail.com
https://bugs.python.org/issue41690