summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-12-18 12:29:12 (GMT)
committerGitHub <noreply@github.com>2017-12-18 12:29:12 (GMT)
commitbd6ec4d79e8575df3d08f8a89ba721930032714c (patch)
treec87adb53980d09f4de7ee25229bd6c3013339d2b
parentb2a6083eb0384f38839d3f1ed32262a3852026fa (diff)
downloadcpython-bd6ec4d79e8575df3d08f8a89ba721930032714c.zip
cpython-bd6ec4d79e8575df3d08f8a89ba721930032714c.tar.gz
cpython-bd6ec4d79e8575df3d08f8a89ba721930032714c.tar.bz2
bpo-32365: Fix a reference leak when compile __debug__. (#4916)
It was introduced in bpo-27169.
-rw-r--r--Python/compile.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/Python/compile.c b/Python/compile.c
index 51c9a08..392de40 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -3094,10 +3094,6 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
PyObject *mangled;
/* XXX AugStore isn't used anywhere! */
- mangled = _Py_Mangle(c->u->u_private, name);
- if (!mangled)
- return 0;
-
assert(!_PyUnicode_EqualToASCIIString(name, "None") &&
!_PyUnicode_EqualToASCIIString(name, "True") &&
!_PyUnicode_EqualToASCIIString(name, "False"));
@@ -3107,6 +3103,10 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx)
return 1;
}
+ mangled = _Py_Mangle(c->u->u_private, name);
+ if (!mangled)
+ return 0;
+
op = 0;
optype = OP_NAME;
scope = PyST_GetScope(c->u->u_ste, mangled);