diff options
-rw-r--r-- | Python/ast.c | 5 | ||||
-rw-r--r-- | Python/compile.c | 1 |
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); |