summaryrefslogtreecommitdiffstats
path: root/Python/compile.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-11-05 17:07:34 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-11-05 17:07:34 (GMT)
commit98e818b8e37692faae15c792397765b0bc0ef7ea (patch)
treecb1374592fc3b78fa61a6c9bbc84035abfdd137f /Python/compile.c
parent357f5155dc74b691a683a571b1316ce8473c40d0 (diff)
downloadcpython-98e818b8e37692faae15c792397765b0bc0ef7ea.zip
cpython-98e818b8e37692faae15c792397765b0bc0ef7ea.tar.gz
cpython-98e818b8e37692faae15c792397765b0bc0ef7ea.tar.bz2
Issue #19437: Fix compiler_class(), handle compiler_lookup_arg() failure
Diffstat (limited to 'Python/compile.c')
-rw-r--r--Python/compile.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Python/compile.c b/Python/compile.c
index 32465f7..8b00211 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1772,6 +1772,10 @@ compiler_class(struct compiler *c, stmt_ty s)
}
i = compiler_lookup_arg(c->u->u_cellvars, str);
Py_DECREF(str);
+ if (i < 0) {
+ compiler_exit_scope(c);
+ return 0;
+ }
assert(i == 0);
/* Return the cell where to store __class__ */
ADDOP_I(c, LOAD_CLOSURE, i);