[Python-checkins] bpo-32758: Warn that ast.parse() and ast.literal_eval() can segfault the interpreter (GH-5960) (GH-16565)
Serhiy Storchaka
webhook-mailer at python.org
Fri Oct 18 04:00:27 EDT 2019
https://github.com/python/cpython/commit/dedb99acdb5bbc179872235f975248133d3fb440
commit: dedb99acdb5bbc179872235f975248133d3fb440
branch: 2.7
author: Ashley Whetter <AWhetter at users.noreply.github.com>
committer: Serhiy Storchaka <storchaka at gmail.com>
date: 2019-10-18T11:00:22+03:00
summary:
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 <brettcannon at users.noreply.github.com>
files:
M Doc/library/ast.rst
diff --git a/Doc/library/ast.rst b/Doc/library/ast.rst
index 6d5855b52bcce..b04a92d33adc5 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)
More information about the Python-checkins
mailing list