bpo-33132: Fix more reference counting issues in the compiler. (GH-6323)
![](https://secure.gravatar.com/avatar/cc7737cd64a84f1b5c61a160798e97ee.jpg?s=120&d=mm&r=g)
https://github.com/python/cpython/commit/aa8e51f5ebb2a71c76059f050de01fc3c98... commit: aa8e51f5ebb2a71c76059f050de01fc3c985376a branch: master author: Serhiy Storchaka <storchaka@gmail.com> committer: GitHub <noreply@github.com> date: 2018-04-01T00:29:37+03:00 summary: bpo-33132: Fix more reference counting issues in the compiler. (GH-6323) files: M Python/compile.c diff --git a/Python/compile.c b/Python/compile.c index 9d2ba7b18f11..03b703deb041 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -2843,8 +2843,7 @@ compiler_import_as(struct compiler *c, identifier name, identifier asname) attr = PyUnicode_Substring(name, pos, (dot != -1) ? dot : len); if (!attr) return 0; - ADDOP_O(c, IMPORT_FROM, attr, names); - Py_DECREF(attr); + ADDOP_N(c, IMPORT_FROM, attr, names); if (dot == -1) { break; } @@ -3294,8 +3293,7 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) "param invalid for local variable"); return 0; } - ADDOP_O(c, op, mangled, varnames); - Py_DECREF(mangled); + ADDOP_N(c, op, mangled, varnames); return 1; case OP_GLOBAL: switch (ctx) {
participants (1)
-
Serhiy Storchaka