diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2023-08-23 03:10:14 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-23 12:10:14 +0200 |
commit | 893c3b7f5c52b5c0800b72a78fb799632efcd628 (patch) | |
tree | 2b66622c28ee14f9d4196f0a638b6bd5f28da488 | |
parent | [3.10] gh-99612: Fix PyUnicode_DecodeUTF8Stateful() for ASCII-only data (GH-9... (diff) | |
download | cpython-893c3b7f5c52b5c0800b72a78fb799632efcd628.tar.gz cpython-893c3b7f5c52b5c0800b72a78fb799632efcd628.tar.bz2 cpython-893c3b7f5c52b5c0800b72a78fb799632efcd628.zip |
[3.10] gh-108342: Break ref cycle in SSLSocket._create() exc (GH-108344) (#108350)
Explicitly break a reference cycle when SSLSocket._create() raises an
exception. Clear the variable storing the exception, since the
exception traceback contains the variables and so creates a reference
cycle.
This test leak was introduced by the test added for the fix of GH-108310.
(cherry picked from commit 64f99350351bc46e016b2286f36ba7cd669b79e3)
Co-authored-by: Victor Stinner <vstinner@python.org>
-rw-r--r-- | Lib/ssl.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/ssl.py b/Lib/ssl.py index fadbee217af..f386fa78315 100644 --- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -1079,7 +1079,11 @@ class SSLSocket(socket): self.close() except OSError: pass - raise notconn_pre_handshake_data_error + try: + raise notconn_pre_handshake_data_error + finally: + # Explicitly break the reference cycle. + notconn_pre_handshake_data_error = None else: connected = True |