summaryrefslogtreecommitdiffstats
path: root/Lib/lib2to3/main.py
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2019-11-19 21:34:03 (GMT)
committerGitHub <noreply@github.com>2019-11-19 21:34:03 (GMT)
commit293dd23477eef6e7c1b1e26b5bb2c1e0d79ac3c2 (patch)
tree295b4eee204f0d1e4723e62825a86310ddc27578 /Lib/lib2to3/main.py
parentc6b20be85c0de6f2355c67ae6e7e578941275cc0 (diff)
downloadcpython-293dd23477eef6e7c1b1e26b5bb2c1e0d79ac3c2.zip
cpython-293dd23477eef6e7c1b1e26b5bb2c1e0d79ac3c2.tar.gz
cpython-293dd23477eef6e7c1b1e26b5bb2c1e0d79ac3c2.tar.bz2
Remove binding of captured exceptions when not used to reduce the chances of creating cycles (GH-17246)
Capturing exceptions into names can lead to reference cycles though the __traceback__ attribute of the exceptions in some obscure cases that have been reported previously and fixed individually. As these variables are not used anyway, we can remove the binding to reduce the chances of creating reference cycles. See for example GH-13135
Diffstat (limited to 'Lib/lib2to3/main.py')
-rw-r--r--Lib/lib2to3/main.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/lib2to3/main.py b/Lib/lib2to3/main.py
index d6b7088..c51626b 100644
--- a/Lib/lib2to3/main.py
+++ b/Lib/lib2to3/main.py
@@ -90,11 +90,11 @@ class StdoutRefactoringTool(refactor.MultiprocessRefactoringTool):
if os.path.lexists(backup):
try:
os.remove(backup)
- except OSError as err:
+ except OSError:
self.log_message("Can't remove backup %s", backup)
try:
os.rename(filename, backup)
- except OSError as err:
+ except OSError:
self.log_message("Can't rename %s to %s", filename, backup)
# Actually write the new file
write = super(StdoutRefactoringTool, self).write_file