bpo-32365: Fix a reference leak when compile __debug__. (#4916)
It was introduced in bpo-27169.
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 @@
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 @@
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);