Fix leak found by Eric Huss.

This commit is contained in:
Raymond Hettinger 2004-06-25 22:17:39 +00:00
parent 22021579a9
commit d56cbe57b8

View File

@ -3954,7 +3954,12 @@ add_tp_new_wrapper(PyTypeObject *type)
func = PyCFunction_New(tp_new_methoddef, (PyObject *)type);
if (func == NULL)
return -1;
return PyDict_SetItemString(type->tp_dict, "__new__", func);
if(PyDict_SetItemString(type->tp_dict, "__new__", func)) {
Py_DECREF(func);
return -1;
}
Py_DECREF(func);
return 0;
}
/* Slot wrappers that call the corresponding __foo__ slot. See comments