diff options
-rw-r--r-- | Lib/test/support.py | 8 | ||||
-rw-r--r-- | Misc/NEWS | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/test/support.py b/Lib/test/support.py index ddd3ab6..2d7f70d 100644 --- a/Lib/test/support.py +++ b/Lib/test/support.py @@ -493,14 +493,16 @@ def bind_port(sock, host=HOST): def _is_ipv6_enabled(): """Check whether IPv6 is enabled on this host.""" if socket.has_ipv6: + sock = None try: sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM) sock.bind(('::1', 0)) + return True except (socket.error, socket.gaierror): pass - else: - sock.close() - return True + finally: + if sock: + sock.close() return False IPV6_ENABLED = _is_ipv6_enabled() @@ -74,6 +74,12 @@ Tools/Demos * C frames that are garbage-collecting * C frames that are due to the invocation of a PyCFunction +Tests +----- + +- Issue #15277: Fix a resource leak in support.py when IPv6 is disabled. + Patch by Brian Brazil. + Build ----- |