gh-126106: Fix `NULL` possible derefrence in `Modules/_ssl.c` (GH-126111)
(cherry picked from commit
a64a1c920660b0c1e4dd5a9573004cd527e15184)
Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
--- /dev/null
+Fixes a possible ``NULL`` pointer dereference in :mod:`ssl`.
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;
}