From: Guido van Rossum <guido@python.org>
Date: Tue, 28 May 2019 23:44:58 +0000 (-0700)
Subject: bpo-37072: Fix crash in PyAST_FromNodeObject() when flags is NULL (#13634)
X-Git-Tag: v3.8.0b1~154
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=77f0ed7a42606d03ebfe48ab152caf0d796d6540;p=python

bpo-37072: Fix crash in PyAST_FromNodeObject() when flags is NULL (#13634)

I'm confident that this fixes the reported crash. flags=NULL is treated as using the latest minor version.

https://bugs.python.org/issue37072
---

diff --git a/Misc/NEWS.d/next/Core and Builtins/2019-05-28-18-18-55.bpo-37072.1Hewl3.rst b/Misc/NEWS.d/next/Core and Builtins/2019-05-28-18-18-55.bpo-37072.1Hewl3.rst
new file mode 100644
index 0000000000..15bcc5ed2b
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2019-05-28-18-18-55.bpo-37072.1Hewl3.rst	
@@ -0,0 +1 @@
+Fix crash in PyAST_FromNodeObject() when flags is NULL.
\ No newline at end of file
diff --git a/Python/ast.c b/Python/ast.c
index 7ffdf4a2a0..12a45f9bbb 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -786,7 +786,7 @@ PyAST_FromNodeObject(const node *n, PyCompilerFlags *flags,
     /* borrowed reference */
     c.c_filename = filename;
     c.c_normalize = NULL;
-    c.c_feature_version = flags->cf_feature_version;
+    c.c_feature_version = flags ? flags->cf_feature_version : PY_MINOR_VERSION;
 
     if (TYPE(n) == encoding_decl)
         n = CHILD(n, 0);