diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index bb5edc368decb3..9a4dcd863bba52 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -7317,7 +7317,6 @@ os_init(void) static void sock_free_api(PySocketModule_APIObject *capi) { - Py_DECREF(capi->Sock_Type); Py_DECREF(capi->error); Py_DECREF(capi->timeout_error); PyMem_Free(capi); @@ -7339,7 +7338,7 @@ sock_get_api(socket_state *state) return NULL; } - capi->Sock_Type = (PyTypeObject *)Py_NewRef(state->sock_type); + capi->Sock_Type = state->sock_type; capi->error = Py_NewRef(PyExc_OSError); capi->timeout_error = Py_NewRef(PyExc_TimeoutError); return capi; diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index 47146a28e02c8f..51a4b8de3931b4 100644 --- a/Modules/socketmodule.h +++ b/Modules/socketmodule.h @@ -382,7 +382,7 @@ typedef struct { /* C API for usage by other Python modules. * Always add new things to the end for binary compatibility. */ typedef struct { - PyTypeObject *Sock_Type; + PyTypeObject *Sock_Type; // borrowed reference (gh-108240) PyObject *error; PyObject *timeout_error; } PySocketModule_APIObject;