summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrett Cannon <brettcannon@users.noreply.github.com>2018-03-09 20:03:22 (GMT)
committerGitHub <noreply@github.com>2018-03-09 20:03:22 (GMT)
commit7a7f100eb352d08938ee0f5ba59c18f56dc4a7b5 (patch)
tree24923c6efe4df7888397e9423a4a39b2641702bd
parent83d7062d2dc5eacfef578e072bca4747c346fdae (diff)
downloadcpython-7a7f100eb352d08938ee0f5ba59c18f56dc4a7b5.zip
cpython-7a7f100eb352d08938ee0f5ba59c18f56dc4a7b5.tar.gz
cpython-7a7f100eb352d08938ee0f5ba59c18f56dc4a7b5.tar.bz2
bpo-32758: Warn that ast.parse() and ast.literal_eval() can segfault the interpreter (GH-5960)
-rw-r--r--Doc/library/ast.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index b7f610b..a75a6af 100644
--- a/Doc/library/ast.rst
+++ b/Doc/library/ast.rst
@@ -113,6 +113,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)
@@ -126,6 +131,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.
+
.. versionchanged:: 3.2
Now allows bytes and set literals.