[Python-checkins] [3.9] bpo-40998: Fix a refleak in create_filter() (GH-23365) (GH-23369)

miss-islington webhook-mailer at python.org
Wed Nov 18 12:45:57 EST 2020


https://github.com/python/cpython/commit/35bf8ea7bef7151a420a67638e88d6a1fd81d1a0
commit: 35bf8ea7bef7151a420a67638e88d6a1fd81d1a0
branch: 3.9
author: Christian Heimes <christian at python.org>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2020-11-18T09:45:29-08:00
summary:

[3.9] bpo-40998: Fix a refleak in create_filter() (GH-23365) (GH-23369)



(cherry picked from commit d1e38d4023aa29e7ed64d4f8eb9c1e4a3c86a2e5)

files:
M Python/_warnings.c

diff --git a/Python/_warnings.c b/Python/_warnings.c
index 4d65bb30c8e5c..91a78fe72b3bc 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -69,11 +69,14 @@ create_filter(PyObject *category, _Py_Identifier *id, const char *modname)
         }
     } else {
         modname_obj = Py_None;
+        Py_INCREF(modname_obj);
     }
 
     /* This assumes the line number is zero for now. */
-    return PyTuple_Pack(5, action_str, Py_None,
-                        category, modname_obj, _PyLong_Zero);
+    PyObject *filter = PyTuple_Pack(5, action_str, Py_None,
+                                    category, modname_obj, _PyLong_Zero);
+    Py_DECREF(modname_obj);
+    return filter;
 }
 #endif
 



More information about the Python-checkins mailing list