Issue #16248: Disable code execution from the user's home directory by tkinter when the -E flag is passed to Python.

Patch by Zachary Ware.
This commit is contained in:
Antoine Pitrou 2012-12-09 14:47:23 +01:00
commit db0420db17
2 changed files with 6 additions and 1 deletions

View File

@ -1756,7 +1756,9 @@ class Tk(Misc, Wm):
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
if useTk: if useTk:
self._loadtk() self._loadtk()
self.readprofile(baseName, className) if not sys.flags.ignore_environment:
# Issue #16248: Honor the -E flag to avoid code injection.
self.readprofile(baseName, className)
def loadtk(self): def loadtk(self):
if not self._tkloaded: if not self._tkloaded:
self.tk.loadtk() self.tk.loadtk()

View File

@ -163,6 +163,9 @@ Core and Builtins
Library Library
------- -------
- Issue #16248: Disable code execution from the user's home directory by
tkinter when the -E flag is passed to Python. Patch by Zachary Ware.
- Issue #13390: New function :func:`sys.getallocatedblocks()` returns the - Issue #13390: New function :func:`sys.getallocatedblocks()` returns the
number of memory blocks currently allocated. number of memory blocks currently allocated.