]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-126106: Fix `NULL` possible derefrence in `Modules/_ssl.c` (#126111)
authorsobolevn <mail@sobolevn.me>
Tue, 29 Oct 2024 09:03:18 +0000 (12:03 +0300)
committerGitHub <noreply@github.com>
Tue, 29 Oct 2024 09:03:18 +0000 (12:03 +0300)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Misc/NEWS.d/next/Library/2024-10-29-10-58-52.gh-issue-126106.rlF798.rst [new file with mode: 0644]
Modules/_ssl.c

diff --git a/Misc/NEWS.d/next/Library/2024-10-29-10-58-52.gh-issue-126106.rlF798.rst b/Misc/NEWS.d/next/Library/2024-10-29-10-58-52.gh-issue-126106.rlF798.rst
new file mode 100644 (file)
index 0000000..de98900
--- /dev/null
@@ -0,0 +1 @@
+Fixes a possible ``NULL`` pointer dereference in :mod:`ssl`.
index 62a94314512dd9a0374007cd01ebd84a13cae844..54bac28e5beccf1b405e77e8f566d43906bf42ae 100644 (file)
@@ -5424,14 +5424,14 @@ PySSLSession_dealloc(PySSLSession *self)
 static PyObject *
 PySSLSession_richcompare(PyObject *left, PyObject *right, int op)
 {
-    int result;
-    PyTypeObject *sesstype = ((PySSLSession*)left)->ctx->state->PySSLSession_Type;
-
     if (left == NULL || right == NULL) {
         PyErr_BadInternalCall();
         return NULL;
     }
 
+    int result;
+    PyTypeObject *sesstype = ((PySSLSession*)left)->ctx->state->PySSLSession_Type;
+
     if (!Py_IS_TYPE(left, sesstype) || !Py_IS_TYPE(right, sesstype)) {
         Py_RETURN_NOTIMPLEMENTED;
     }