]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-126455: Disallow _ssl.SSLSocket instantiation (GH-126481) (#126487)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 6 Nov 2024 11:21:21 +0000 (12:21 +0100)
committerGitHub <noreply@github.com>
Wed, 6 Nov 2024 11:21:21 +0000 (11:21 +0000)
gh-126455: Disallow _ssl.SSLSocket instantiation (GH-126481)

Prevent creation of incomplete/invalid _ssl.SSLSocket objects when
created directly.
(cherry picked from commit b1c4ffc20573befb4db66bbbdd569b9bd13bb127)

Co-authored-by: Victor Stinner <vstinner@python.org>
Modules/_ssl.c

index 35e4ce7af50fc69ccff64ae18b95dc955b4c2f88..7a9f2c87239eca3698c61616f9c1131d23beea6f 100644 (file)
@@ -2900,7 +2900,7 @@ static PyType_Spec PySSLSocket_spec = {
     .name = "_ssl._SSLSocket",
     .basicsize = sizeof(PySSLSocket),
     .flags = (Py_TPFLAGS_DEFAULT | Py_TPFLAGS_IMMUTABLETYPE |
-              Py_TPFLAGS_HAVE_GC),
+              Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_DISALLOW_INSTANTIATION),
     .slots = PySSLSocket_slots,
 };