mirror of https://github.com/python/cpython
bpo-40645: Fix ref leaks in _hashopenssl (GH-26079)
This commit is contained in:
parent
e5ba1fe995
commit
504ffdae4e
|
@ -2093,23 +2093,27 @@ hashlib_init_constructors(PyObject *module)
|
|||
}
|
||||
func = PyObject_GetAttrString(module, fdef->ml_name);
|
||||
if (func == NULL) {
|
||||
Py_DECREF(name_obj);
|
||||
return -1;
|
||||
}
|
||||
if (PyDict_SetItem(state->constructs, func, name_obj) < 0) {
|
||||
return -1;
|
||||
}
|
||||
int rc = PyDict_SetItem(state->constructs, func, name_obj);
|
||||
Py_DECREF(func);
|
||||
Py_DECREF(name_obj);
|
||||
if (rc < 0) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
proxy = PyDictProxy_New(state->constructs);
|
||||
if (proxy == NULL) {
|
||||
return -1;
|
||||
}
|
||||
if (PyModule_AddObjectRef(module, "_constructors", proxy) < 0) {
|
||||
|
||||
int rc = PyModule_AddObjectRef(module, "_constructors", proxy);
|
||||
Py_DECREF(proxy);
|
||||
if (rc < 0) {
|
||||
return -1;
|
||||
}
|
||||
Py_DECREF(proxy);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue