[Python-checkins] bpo-34794: Fix a leak in Tkinter. (GH-10025)

Serhiy Storchaka webhook-mailer at python.org
Tue Oct 23 15:40:58 EDT 2018


https://github.com/python/cpython/commit/df13df41a25765d8a39a77220691698498e758d4
commit: df13df41a25765d8a39a77220691698498e758d4
branch: master
author: Serhiy Storchaka <storchaka at gmail.com>
committer: GitHub <noreply at github.com>
date: 2018-10-23T22:40:54+03:00
summary:

bpo-34794: Fix a leak in Tkinter. (GH-10025)

Based on the investigation by Xiang Zhang.

files:
A Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst
M Modules/_tkinter.c

diff --git a/Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst b/Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst
new file mode 100644
index 000000000000..770807fc7653
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2018-10-21-14-53-19.bpo-34794.yt3R4-.rst
@@ -0,0 +1,2 @@
+Fixed a leak in Tkinter when pass the Python wrapper around Tcl_Obj back to
+Tcl/Tk.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 93d4dbc5f659..fa268599876a 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -1101,9 +1101,7 @@ AsObj(PyObject *value)
     }
 
     if (PyTclObject_Check(value)) {
-        Tcl_Obj *v = ((PyTclObject*)value)->value;
-        Tcl_IncrRefCount(v);
-        return v;
+        return ((PyTclObject*)value)->value;
     }
 
     {



More information about the Python-checkins mailing list