summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchgnrdv <52372310+chgnrdv@users.noreply.github.com>2022-06-22 10:10:22 (GMT)
committerGitHub <noreply@github.com>2022-06-22 10:10:22 (GMT)
commitdc8e1d0390e16e90b2f74f6bd6417324a357bc23 (patch)
treea8effa9ffc46798c2b28b5dc73982a3dc6794d31
parentfda4b2f06364ae5ef91ecd9c09e2af380c8b0b4c (diff)
downloadcpython-dc8e1d0390e16e90b2f74f6bd6417324a357bc23.zip
cpython-dc8e1d0390e16e90b2f74f6bd6417324a357bc23.tar.gz
cpython-dc8e1d0390e16e90b2f74f6bd6417324a357bc23.tar.bz2
gh-94101 Disallow instantiation of SSLSession objects (GH-94102)
Fixes #94101 Automerge-Triggered-By: GH:tiran
-rw-r--r--Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst3
-rw-r--r--Modules/_ssl.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst b/Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst
new file mode 100644
index 0000000..bcef0ca
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-06-22-11-16-11.gh-issue-94101.V9vDG8.rst
@@ -0,0 +1,3 @@
+Manual instantiation of :class:`ssl.SSLSession` objects is no longer allowed
+as it lead to misconfigured instances that crashed the interpreter when
+attributes where accessed on them.
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index e67ab42..0859657 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -5067,7 +5067,8 @@ static PyType_Spec PySSLSession_spec = {
.name = "_ssl.SSLSession",
.basicsize = sizeof(PySSLSession),
.flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC |
- Py_TPFLAGS_IMMUTABLETYPE),
+ Py_TPFLAGS_IMMUTABLETYPE |
+ Py_TPFLAGS_DISALLOW_INSTANTIATION),
.slots = PySSLSession_slots,
};