summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2005-03-01 08:10:49 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2005-03-01 08:10:49 (GMT)
commit7006512160c96497ae7cbdd59e5448e21c0efe04 (patch)
treead0249b6f6961a38ac635277e41f779a6afa8869
parentac4c46035c5bf1f1d059159146e7bec9acb76561 (diff)
downloadcpython-7006512160c96497ae7cbdd59e5448e21c0efe04.zip
cpython-7006512160c96497ae7cbdd59e5448e21c0efe04.tar.gz
cpython-7006512160c96497ae7cbdd59e5448e21c0efe04.tar.bz2
Patch #1121234: Properly cleanup _exit and tkerror commands.
-rw-r--r--Lib/lib-tk/Tkinter.py7
-rw-r--r--Misc/NEWS2
2 files changed, 9 insertions, 0 deletions
diff --git a/Lib/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index fa57e25..81bf465 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/Tkinter.py
@@ -1599,8 +1599,15 @@ class Tk(Misc, Wm):
raise RuntimeError, \
"Tk 4.0 or higher is required; found Tk %s" \
% str(TkVersion)
+ # Create and register the tkerror and exit commands
+ # We need to inline parts of _register here, _ register
+ # would register differently-named commands.
+ if self._tclCommands is None:
+ self._tclCommands = []
self.tk.createcommand('tkerror', _tkerror)
self.tk.createcommand('exit', _exit)
+ self._tclCommands.append('tkerror')
+ self._tclCommands.append('exit')
if _support_default_root and not _default_root:
_default_root = self
self.protocol("WM_DELETE_WINDOW", self.destroy)
diff --git a/Misc/NEWS b/Misc/NEWS
index 055c32b..08f9bed 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -35,6 +35,8 @@ Extension Modules
Library
-------
+- Patch #1121234: Properly cleanup _exit and tkerror commands.
+
- Applied a security fix to SimpleXMLRPCserver (PSF-2005-001). This
disables recursive traversal through instance attributes, which can
be exploited in various ways.