Issue #27225: Fixed a reference leak in type_new when setting __new__ fails.

Patch by Xiang Zhang.
This commit is contained in:
Serhiy Storchaka 2016-06-05 10:48:36 +03:00
parent 3c5fa560ed
commit 484c913ed9
1 changed files with 3 additions and 1 deletions

View File

@ -2575,8 +2575,10 @@ type_new(PyTypeObject *metatype, PyObject *args, PyObject *kwds)
tmp = PyStaticMethod_New(tmp); tmp = PyStaticMethod_New(tmp);
if (tmp == NULL) if (tmp == NULL)
goto error; goto error;
if (_PyDict_SetItemId(dict, &PyId___new__, tmp) < 0) if (_PyDict_SetItemId(dict, &PyId___new__, tmp) < 0) {
Py_DECREF(tmp);
goto error; goto error;
}
Py_DECREF(tmp); Py_DECREF(tmp);
} }