summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-04-07 10:49:27 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-04-07 10:49:27 (GMT)
commitab73e65032565029fdd00e73936dc3b4a197bef6 (patch)
treece5bbb2eb974b14f27a5c3447c664a91e24118ba
parentfe508d1592df5bf22e98219ece3490dd1cc58d6e (diff)
downloadcpython-ab73e65032565029fdd00e73936dc3b4a197bef6.zip
cpython-ab73e65032565029fdd00e73936dc3b4a197bef6.tar.gz
cpython-ab73e65032565029fdd00e73936dc3b4a197bef6.tar.bz2
Issue #23881: urllib.request.ftpwrapper constructor now closes the socket if
the FTP connection failed to fix a ResourceWarning.
-rw-r--r--Lib/urllib/request.py6
-rw-r--r--Misc/NEWS3
2 files changed, 8 insertions, 1 deletions
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
index 6da9007..5cf0cf2 100644
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -2240,7 +2240,11 @@ class ftpwrapper:
self.timeout = timeout
self.refcount = 0
self.keepalive = persistent
- self.init()
+ try:
+ self.init()
+ except:
+ self.close()
+ raise
def init(self):
import ftplib
diff --git a/Misc/NEWS b/Misc/NEWS
index a8c7ecc..645e1ad 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -24,6 +24,9 @@ Core and Builtins
Library
-------
+- Issue #23881: urllib.request.ftpwrapper constructor now closes the socket if
+ the FTP connection failed to fix a ResourceWarning.
+
- Issue #15133: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always
returns bool. tkinter.BooleanVar now validates input values (accepted bool,
int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool.