bpo-32365: Fix a reference leak when compile __debug__. (GH-4916) (#4918)

It was introduced in bpo-27169.
(cherry picked from commit bd6ec4d79e)
This commit is contained in:
Miss Islington (bot) 2017-12-18 05:11:51 -08:00 committed by Serhiy Storchaka
parent 572636d425
commit 5659743b56

View file

@ -3032,10 +3032,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"));
@ -3045,6 +3041,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);