Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 89a6e9a

Browse files
committed
fix possible refleak (closes #14752)
1 parent d9e4a41 commit 89a6e9a

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

Objects/typeobject.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3527,6 +3527,7 @@ add_methods(PyTypeObject *type, PyMethodDef *meth)
35273527

35283528
for (; meth->ml_name != NULL; meth++) {
35293529
PyObject *descr;
3530+
int err;
35303531
if (PyDict_GetItemString(dict, meth->ml_name) &&
35313532
!(meth->ml_flags & METH_COEXIST))
35323533
continue;
@@ -3550,9 +3551,10 @@ add_methods(PyTypeObject *type, PyMethodDef *meth)
35503551
}
35513552
if (descr == NULL)
35523553
return -1;
3553-
if (PyDict_SetItemString(dict, meth->ml_name, descr) < 0)
3554-
return -1;
3554+
err = PyDict_SetItemString(dict, meth->ml_name, descr);
35553555
Py_DECREF(descr);
3556+
if (err < 0)
3557+
return -1;
35563558
}
35573559
return 0;
35583560
}

0 commit comments

Comments
 (0)