summaryrefslogtreecommitdiff
path: root/Python
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-06-15 19:53:12 +0000
committerGeorg Brandl <georg@python.org>2008-06-15 19:53:12 +0000
commitd297f1ad78f1058c62bf47c2f1e2c2488f7e9d25 (patch)
treec606b83be063adf121665b1c875bc30fabaa717d /Python
parent7eb4a82182cf5b886a86f5051c64e1dc3755a9d4 (diff)
downloadcpython-git-d297f1ad78f1058c62bf47c2f1e2c2488f7e9d25.tar.gz
#3117: backport r55087, fixes segfault with lambda (None,): None.
Diffstat (limited to 'Python')
-rw-r--r--Python/ast.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Python/ast.c b/Python/ast.c
index c7fd8bcc96..057b64df32 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -249,6 +249,8 @@ PyAST_FromNode(const node *n, PyCompilerFlags *flags, const char *filename,
goto error;
asdl_seq_SET(stmts, 0, Pass(n->n_lineno, n->n_col_offset,
arena));
+ if (!asdl_seq_GET(stmts, 0))
+ goto error;
return Interactive(stmts, arena);
}
else {
@@ -679,6 +681,8 @@ ast_for_arguments(struct compiling *c, const node *n)
if (NCH(ch) != 1) {
/* We have complex arguments, setup for unpacking. */
asdl_seq_SET(args, k++, compiler_complex_args(c, ch));
+ if (!asdl_seq_GET(args, k-1))
+ goto error;
} else {
/* def foo((x)): setup for checking NAME below. */
/* Loop because there can be many parens and tuple