summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/ast.c5
-rw-r--r--Python/compile.c1
2 files changed, 4 insertions, 2 deletions
diff --git a/Python/ast.c b/Python/ast.c
index 9e8d911..ca832aa 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -622,10 +622,10 @@ ast_for_arguments(struct compiling *c, const node *n)
}
args = (n_args ? asdl_seq_new(n_args, c->c_arena) : NULL);
if (!args && n_args)
- return NULL; /* Don't need to go to NULL; nothing allocated */
+ return NULL; /* Don't need to goto error; no objects allocated */
defaults = (n_defaults ? asdl_seq_new(n_defaults, c->c_arena) : NULL);
if (!defaults && n_defaults)
- goto error;
+ return NULL; /* Don't need to goto error; no objects allocated */
/* fpdef: NAME | '(' fplist ')'
fplist: fpdef (',' fpdef)* [',']
@@ -644,6 +644,7 @@ ast_for_arguments(struct compiling *c, const node *n)
expr_ty expression = ast_for_expr(c, CHILD(n, i + 2));
if (!expression)
goto error;
+ assert(defaults != NULL);
asdl_seq_SET(defaults, j++, expression);
i += 2;
found_default = 1;
diff --git a/Python/compile.c b/Python/compile.c
index 5ed9893..bcd67c6 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -3031,6 +3031,7 @@ compiler_boolop(struct compiler *c, expr_ty e)
return 0;
s = e->v.BoolOp.values;
n = asdl_seq_LEN(s) - 1;
+ assert(n >= 0);
for (i = 0; i < n; ++i) {
VISIT(c, expr, (expr_ty)asdl_seq_GET(s, i));
ADDOP_JREL(c, jumpi, end);