From: Ashley Whetter Date: Fri, 18 Oct 2019 08:00:22 +0000 (-0700) Subject: bpo-32758: Warn that ast.parse() and ast.literal_eval() can segfault the interpreter... X-Git-Tag: v2.7.17~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dedb99acdb5bbc179872235f975248133d3fb440;p=thirdparty%2FPython%2Fcpython.git bpo-32758: Warn that ast.parse() and ast.literal_eval() can segfault the interpreter (GH-5960) (GH-16565) (cherry picked from commit 7a7f100eb352d08938ee0f5ba59c18f56dc4a7b5) Co-authored-by: Brett Cannon --- diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst index 6d5855b52bcc..b04a92d33adc 100644 --- a/Doc/library/ast.rst +++ b/Doc/library/ast.rst @@ -129,6 +129,11 @@ and classes for traversing abstract syntax trees: Parse the source into an AST node. Equivalent to ``compile(source, filename, mode, ast.PyCF_ONLY_AST)``. + .. warning:: + It is possible to crash the Python interpreter with a + sufficiently large/complex string due to stack depth limitations + in Python's AST compiler. + .. function:: literal_eval(node_or_string) @@ -142,6 +147,11 @@ and classes for traversing abstract syntax trees: capable of evaluating arbitrarily complex expressions, for example involving operators or indexing. + .. warning:: + It is possible to crash the Python interpreter with a + sufficiently large/complex string due to stack depth limitations + in Python's AST compiler. + .. function:: get_docstring(node, clean=True)